Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ rt_dptbl(4) — NEWS-os 5.0.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

dispadmin(1M)

priocntl(1)

priocntl(2)

master(4)

mkboot(1M)



rt_dptbl(4)               FILE FORMATS                rt_dptbl(4)



NAME
     rtdptbl - real-time 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 execu-
     tion 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 prior-
     ity  levels  numbered from 0 (lowest priority) to n (highest
     priority-a configuration dependent value).  The set of  glo-
     bal  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).  The real-time
     class maintains an in-core table, with  an  entry  for  each
     priority  level,  giving the properties of that level.  This
     table is called the  real-time  dispatcher  parameter  table
     (rtdptbl).   The rtdptbl consists of an array of parameter
     structures (struct rtdpent), one for each of the n priority
     levels.   The  properties  of  a  given priority level i are
     specified by the  ith  parameter  structure  in  this  array
     (rtdptbli).   A parameter structure consists of the follow-
     ing   members.    These   are   also   described   in    the
     /usr/include/sys/rt.h header file.

     rtglobpri
             The global scheduling priority associated with  this
             priority   level.   The  mapping  between  real-time
             priority levels and global scheduling priorities  is
             determined at boot time by the system configuration.
             The  rtglobpri  values  cannot  be   changed   with
             dispadmin(1M).

     rtquantum
             The  length  of  the  time  quantum   allocated   to
             processes  at  this  level  in ticks (HZ).  The time
             quantum value is only a default  or  starting  value
             for  processes  at  a  particular  level as the time
             quantum of a real-time process can be changed by the
             user  with the priocntl command or the priocntl sys-
             tem call.

     An administrator can affect the behavior  of  the  real-time
     portion  of  the  scheduler  by  reconfiguring the rtdptbl.



                                                                1





rt_dptbl(4)               FILE FORMATS                rt_dptbl(4)



     There are two methods available for doing this.

MASTER FILE
     The rtdptbl can be reconfigured at boot time by  specifying
     the  desired  values in the rt master file and reconfiguring
     the system using the auto-configuration boot procedure;  see
     mkboot(1M)  and master(4).  This is the only method that can
     be used to change the number of real-time priority levels or
     the  set  of  global scheduling priorities used by the real-
     time class.

DISPADMIN CONFIGURATION FILE
     The rtquantum values in the rtdptbl can  be  examined  and
     modified  on  a  running system using the dispadmin(1M) com-
     mand.  Invoking dispadmin for the real-time class allows the
     administrator to retrieve the current rtdptbl configuration
     from the kernel's in-core table, or  overwrite  the  in-core
     table with values from a configuration file.  The configura-
     tion 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 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.
     For example, the finest resolution  currently  available  on
     the 3B2 is 10 milliseconds (1 ``tick'').  If res were 1000 a
     time quantum value of 34 would specify a quantum of 34  mil-
     liseconds,  which  would  be  rounded up to 4 ticks (40 mil-
     liseconds) on the 3B2.  The remaining lines in the file  are
     used  to specify the rtquantum values for each of the real-
     time priority levels.  The first line specifies the  quantum
     for real-time level 0, the second line specifies the quantum
     for real-time level 1, etc.  There must be exactly one  line
     for   each   configured   real-time  priority  level.   Each
     rtquantum entry must be either a positive integer  specify-
     ing  the  desired  time  quantum (in the resolution given by
     res), or the symbol RTTQINF  indicating  an  infinite  time
     quantum for that level.

EXAMPLE
     The following excerpt from a  dispadmin  configuration  file
     illustrates  the format.  Note that for each line specifying
     a time quantum there is a comment indicating the correspond-
     ing  priority  level.  These level numbers indicate priority
     within the real-time class, and the  mapping  between  these



                                                                2





rt_dptbl(4)               FILE FORMATS                rt_dptbl(4)



     real-time priorities and the corresponding global scheduling
     priorities is determined by the configuration  specified  in
     the  rt 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 on input.
     dispadmin assumes that the lines in the file are ordered  by
     consecutive,  increasing  priority level (from 0 to the max-
     imum configured real-time priority).  The level  numbers  in
     the  comments  should  normally agree with this ordering; if
     for some reason they  don't,  however,  dispadmin  is  unaf-
     fected.












































                                                                3





rt_dptbl(4)               FILE FORMATS                rt_dptbl(4)



          # Real-Time Dispatcher Configuration File
          RES=1000

          #    TIME QUANTUM                PRIORITY
          #    (rtquantum)                  LEVEL
                    100                 #     0
                    100                 #     1
                    100                 #     2
                    100                 #     3
                    100                 #     4
                    100                 #     5
                     90                 #     6
                     90                 #     7
                     .                  .     .
                     .                  .     .
                     .                  .     .
                     10                 #    58
                     10                 #    59

FILES
     /usr/include/sys/rt.h

SEE ALSO
     dispadmin(1M),    priocntl(1),    priocntl(2),    master(4),
     mkboot(1M)    ``Scheduler''    chapter    in    the   System
     Administrator's Guide





























                                                                4



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