Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ SV_WAIT(D3) — UnixWare 2.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought






       SV_WAIT(D3)                                              SV_WAIT(D3)


       NAME
             SV_WAIT - sleep on a synchronization variable

       SYNOPSIS
             #include <sys/types.h>
             #include <sys/ksynch.h>
             #include <sys/ddi.h>
             void SV_WAIT(sv_t *svp, int priority, lock_t *lkp);

          Arguments
             svp       Pointer to the synchronization variable on which to
                       sleep.

             priority  A hint to the scheduling policy as to the relative
                       priority the caller wishes to be assigned while
                       running in the kernel after waking up.

             lkp       Pointer to a basic lock which must be locked when
                       SV_WAIT is called.  The basic lock is released when
                       the calling process goes to sleep, as described
                       below.

       DESCRIPTION
             SV_WAIT causes the calling process to go to sleep (the
             caller's execution is suspended and other processes may be
             scheduled) waiting for a call to SV_SIGNAL(D3) or
             SV_BROADCAST(D3) for the synchronization variable specified by
             svp.

          Return Values
             None

       USAGE
          priority Argument
             Valid values for priority are:

                   pridisk   Priority appropriate for disk driver.

                   prinet    Priority appropriate for network driver.

                   pritty    Priority appropriate for terminal driver.

                   pritape   Priority appropriate for tape driver.





                           Copyright 1994 Novell, Inc.               Page 1













      SV_WAIT(D3)                                              SV_WAIT(D3)


                  prihi     High priority.

                  primed    Medium priority.

                  prilo     Low priority.

            Drivers may use these values to request a priority appropriate
            to a given type of device or to request a priority that is
            high, medium or low relative to other activities within the
            kernel.

            It is also permissible to specify positive or negative offsets
            from the values defined above.  Positive offsets result in
            more favorable priority.  The maximum allowable offset in all
            cases is 3 (that is, pridisk+3 and pridisk-3 are valid values
            but pridisk+4 and pridisk-4 are not valid).  Offsets can be
            useful in defining the relative importance of different locks
            or resources that may be held by a given driver.  In general,
            a higher relative priority should be used when the caller is
            sleeping waiting for a highly contended kernel resource, or
            when the caller is already holding one or more locks or kernel
            resources upon entry to SV_WAIT.

            The exact semantic of the priority argument is specific to the
            scheduling class of the caller, and some scheduling classes
            may choose to ignore the argument for the purposes of assign-
            ing a scheduling priority.

         lkp Argument
            The basic lock specified by lkp must be held by the caller
            upon entry.  The lock is released and the interrupt priority
            level is set to plbase (block no interrupts) after the process
            is queued on the synchronization variable but prior to context
            switching to another process.  When the caller returns from
            SV_WAIT the basic lock is not held and the interrupt priority
            level is equal to plbase.

         General Considerations
            The caller will not be interrupted by signals while sleeping
            inside SV_WAIT.

         Level
            Base only.





                          Copyright 1994 Novell, Inc.               Page 2













       SV_WAIT(D3)                                              SV_WAIT(D3)


          Synchronization Constraints
             Can sleep.

             Driver-defined basic locks (with the exception of the lock
             specified by lkp) and read/write locks may not be held across
             calls to this function.

             Driver-defined sleep locks may be held across calls to this
             function.

       REFERENCES
             SV_ALLOC(D3), SV_BROADCAST(D3), SV_DEALLOC(D3), SV_SIGNAL(D3),
             SV_WAIT_SIG(D3)

       NOTICES
          Portability
             All processors

          Applicability
             ddi: 3, 5, 5mp, 6, 6mp, 7, 7mp




























                           Copyright 1994 Novell, Inc.               Page 3








Typewritten Software • bear@typewritten.org • Edmonds, WA 98026