Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ fc_dptbl(4) — UnixWare 2.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

dispadmin(1M)

priocntl(1)

priocntl(2)






       fc_dptbl(4)                                              fc_dptbl(4)


       NAME
             fc_dptbl - fixed class dispatcher parameter table

       DESCRIPTION
             The process scheduler (or dispatcher) is the portion of the
             kernel that controls allocation of the CPU to processes.  The
             scheduler supports the notion of scheduling classes where each
             class defines a scheduling policy, used to schedule processes
             within that class.  Associated with each scheduling class is a
             set of priority queues on which ready to run processes are
             linked.  These priority queues are mapped by the system
             configuration into a set of global scheduling priorities which
             are available to processes within the class.  (The dispatcher
             always selects for execution the process with the highest
             global scheduling priority in the system.)  The priority
             queues associated with a given class are viewed by that class
             as a contiguous set of priority levels numbered from 0 (lowest
             priority) to n (highest priority-a configuration-dependent
             value).  The set of global scheduling priorities that the
             queues for a given class are mapped into might not start at
             zero and might not be contiguous (depending on the
             configuration).

             Processes in the fixed class that are running in user mode (or
             in kernel mode before going to sleep) are scheduled according
             to the parameters in a fixed class dispatcher parameter table
             (fc_dptbl).  (Fixed class processes running in kernel mode
             after sleeping are run within a special range of priorities
             reserved for such processes and are not affected by the
             parameters in the fc_dptbl until they return to user mode.)
             The fc_dptbl consists of an array of parameter structures
             (struct fcdpent), one for each of the n priority levels used
             by fixed class processes in user mode.  The properties of a
             given priority level i are specified by the ith parameter
             structure in this array (fc_dptbli).

             A parameter structure consists of the following members.
             These are also described in the /usr/include/sys/fc.h header
             file.

             fc_globpri
                     The global scheduling priority associated with this
                     priority level.  The mapping between fixed class
                     priority levels and global scheduling priorities is
                     determined at boot time by the system configuration.
                     fc_globpri is the only member of the fc_dptbl which


                           Copyright 1994 Novell, Inc.               Page 1













      fc_dptbl(4)                                              fc_dptbl(4)


                    cannot be changed with dispadmin(1M).

            fc_quantum
                    The length of the time quantum allocated to processes
                    at this level in ticks (HZ).

            An administrator can affect the behavior of the fixed class
            portion of the scheduler by reconfiguring the fc_dptbl.  There
            are two methods available for doing this.

      DISPADMIN CONFIGURATION FILE
            With the exception of fc_globpri all of the members of the
            fc_dptbl can be examined and modified on a running system
            using the dispadmin(1M) command.  Invoking dispadmin for the
            fixed class class allows the administrator to retrieve the
            current fc_dptbl configuration from the kernel's in-core
            table, or overwrite the in-core table with values from a
            configuration file.  The configuration file used for input to
            dispadmin must conform to the specific format described below.

            Blank lines are ignored and any part of a line to the right of
            a # symbol is treated as a comment.  The first non-blank,
            non-comment line must indicate the resolution to be used for
            interpreting the fc_quantum time quantum values.  The
            resolution is specified as
            RES=res

            where res is a positive integer between 1 and 1,000,000,000
            inclusive and the resolution used is the reciprocal of res in
            seconds (for example, RES=1000 specifies millisecond
            resolution).  Although very fine (nanosecond) resolution may
            be specified, the time quantum lengths are rounded up to the
            next integral multiple of the system clock's resolution.  The
            system clock's resolution is hardware-dependent; this
            resolution can be calculated from the value of HZ, which is
            defined in the file /usr/include/sys/param.h.  HZ gives the
            number of clock ticks per second of the system clock.  For
            example, an HZ of 100 specifies 100 clock ticks per second, or
            one tick every 10 milliseconds (that is, this system clock has
            a resolution of 10 milliseconds).  If the -t and -r options
            are used to specify a time quantum of 34 milliseconds, it is
            rounded up to 4 ticks (40 milliseconds) on a machine with an
            HZ of 100.





                          Copyright 1994 Novell, Inc.               Page 2













       fc_dptbl(4)                                              fc_dptbl(4)


             The remaining lines in the file are used to specify the
             parameter values for each of the fixed class priority levels.
             The first line specifies the parameters for fixed class level
             0, the second line specifies the parameters for fixed class
             level 1, and so on.  There must be exactly one line for each
             configured fixed class priority level.

       EXAMPLE
             The following excerpt from a dispadmin configuration file
             illustrates the format.  Note that for each line specifying a
             set of parameters there is a comment indicating the
             corresponding priority level.  These level numbers indicate
             priority within the fixed class class, and the mapping between
             these fixed class priorities and the corresponding global
             scheduling priorities is determined by the configuration
             specified in the fc master file.  The level numbers are
             strictly for the convenience of the administrator reading the
             file and, as with any comment, they are ignored by dispadmin.
             dispadmin assumes that the lines in the file are ordered by
             consecutive, increasing priority level (from 0 to the maximum
             configured fixed class priority).  The level numbers in the
             comments should normally agree with this ordering; if for some
             reason they don't, however, dispadmin is unaffected.

             # Fixed Class Dispatcher Configuration
             RES=1000
             # fc_quantum PRIORITY LEVEL
                   500    #  0
                   500    #  1
                   500    #  2
                   500    #  3
                   500    #  4
                   500    #  5
                   450    #  6
                   450    #  7
                    .     .  .
                    .     .  .
                    .     .  .
                    50    #  58
                    50    #  59

       FILES
             /usr/include/sys/fc.h





                           Copyright 1994 Novell, Inc.               Page 3













      fc_dptbl(4)                                              fc_dptbl(4)


      REFERENCES
            dispadmin(1M), priocntl(1), priocntl(2)

      NOTICES
            dispadmin does some limited sanity checking on the values
            supplied in the configuration file.  The sanity checking is
            intended to ensure that the new fc_dptbl values do not cause
            the system to panic.  The sanity checking does not attempt to
            analyze the effect that the new values will have on the
            performance of the system.  Unusual fc_dptbl configurations
            may have a dramatic negative impact on the performance of the
            system.

            No sanity checking is done on the fc_dptbl values specified in
            the ts master file.  Specifying an inconsistent or nonsensical
            fc_dptbl configuration through the ts master file could cause
            serious performance problems and/or cause the system to panic.































                          Copyright 1994 Novell, Inc.               Page 4








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