Modifying tunable parameters

SCODB has a number of parameters whose value can be tuned to balance functionality and memory usage. These parameters are kept in the /etc/conf/pack.d/scodb/tune.h file; use the /bin/modtunes command to modify these parameters. modtunes verifies that the values supplied do not go out of valid ranges. As an example, to change the parameters interactively, type:

   $ cd /etc/conf/pack.d/scodb
   $ bin/modtunes -f tune.h
   display of the current values of the parameters
   prompts for new values
You can also change parameters from the command line, for example:
   $ cd /etc/conf/pack.d/scodb
   $ bin/modtunes -f tune.h HISTORY=40
The following is a list of all the parameters and their usage:

SCODB tunable parameters

Name Purpose Default value
LINETB size of line table 1
TTY_OTHER other tty definition 0
TTY_CONSOLE console tty definition 1
TTY_WY60 WY60 tty definition 2
SYMTB symbol table size 200000
STUNTB structure table size 130000
VARTB variables table size 55000
STACK debugger stack size 8192
HISTORY number of history lines remembered 32
VARS number of debugger variables allowed 16
BKP number of breakpoints 16
DECL number of declaration slots 16
ALIAS alias table size 8
SYSTTY system tty 1
SSREG dump registers during single-stepping 0
DBKEY debugger entry key 24
MAINDB 1 to turn SCODB on; otherwise 0 0

The values of these parameters are numeric, except where otherwise noted in the following list. An optional K can be used at the end of the number to multiply the value by 1024.

should be set to twice the number of lines of source code being recompiled with line numbers. If this value is too small, the next kernel relink will produce an error message similar to the following:
   db_linetable in unix would only fit 1 out of 2338 bytes

Corrected table sizes in /etc/conf/pack.d/scodb/tune.h ready for next relink

The table size is then automatically corrected so that the next time you re-link the kernel the table will fit correctly. This automatic sizing sets the table size to the exact minimum size.

LINETB can be set to 1 to force automatic sizing of the line number table. This is useful when you want to keep the kernel size as small as possible.

must be large enough to fit all the kernel symbols. If its value is not sufficient, not all of the kernel symbols will be included in the debugger symbol table, which can make debugging difficult. The getsym command gives an exact size required for a given kernel loaded with SCODB; in this case, 71220 bytes:
   $ /etc/conf/pack.d/scodb/bin/getsym /unix
   $ ls -l symbols
   -rw-r--r--   1 root     root       71220 Jun  8 15:39 symbols
SYMTB should be given a value that is somewhat larger than reported by the getsym command, to allow for growth of the tables.

For proper usage, this must be as large as the stundef file (/etc/conf/pack.d/scodb/defs/stun.def); This parameter is automatically set to the proper size when the kernel is linked.

must be as large as the varidef file (/etc/conf/pack.d/scodb/defs/vari.def). This parameter is automatically set to the proper size when the kernel is linked.

should not be set to a value below 6K.

determines the display unit used by the kernel. By default, the value is 1, which specifies the built-in console. SCODB allows use of serial terminals as the system console, and has support for Wyse 60 terminals, which can be selected by setting the SYSTTY parameter to 2. To select a non-supported terminal, set the value to 0.

The value can be numeric (zero or one), or true or false.

determines what key is configured to allow the user access to SCODB, and should be a key used infrequently in normal operation. The value can either be numeric or in the form 'x' (complete with quotation marks), denoting the character x. A control character may be represented as '^x'.

© 2003 Caldera International, Inc. All rights reserved.
SCO OpenServer Release 5.0.7 -- 11 February 2003