Process scheduling

Time-Sharing parameter table ts_dptbl

The scheduler uses ts_dptbl(4), the time-sharing scheduler (or dispatcher) parameter table, to manage time-sharing LWPs. A default version of ts_dptbl is delivered with the system, and you can change it to suit local needs. First, save a backup of the default version of ts_dptbl. ts_dptbl is specified in the space.c file in the /etc/conf/pack.d/ts directory. It is automatically built into the kernel as part of system configuration.

You can change the size and values of ts_dptbl depending on your local needs. The default values have a long history of good performance over a wide range of environments. Changing the values is not likely to help much, and inappropriate values can have a dramatically negative effect on system performance.

If you do decide to change ts_dptbl, we recommend that you include at least 40 time-sharing global priorities. A range this large gives the scheduler enough leeway to distinguish LWPs based on their CPU use, which it must do to give good response to interactive processes. The default configuration has 60 time-sharing priorities. This example is part of an ts_dptbl:

glbpri qntm tqexp slprt mxwt lwt
0, 100, 0, 1, 5, 1,
1, 90, 0, 2, 5, 2,
2, 80, 1, 3, 5, 3,
3, 70, 1, 4, 5, 4,
4, 60, 2, 5, 5, 5,
5, 50, 2, 6, 5, 6,
6, 40, 3, 7, 5, 7,
7, 30, 3, 8, 5, 8,
8, 20, 4, 9, 5, 9,
9, 10, 4, 9, 5, 9,

The default global priority of a time-sharing LWP is the priority in the middle of ts_dptbl. This is the priority assigned to an LWP if it is changed to a time-sharing LWP with default parameters. This is also the priority initially assigned to the init process if INITCLASS is set to TS. The descendants of init, normally including all login shells and other user processes, inherit its class and current scheduler parameters.
Next topic: Fixed priority parameter table fp_dptbl
Previous topic: Tunable parameters

© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 22 April 2004