mpcntl(1M) mpcntl(1M)
NAME
mpcntl - standard interface for multiprocessing-specific services
SYNOPSIS
mpcntl -b -ccpu [-ccpu ...] {-ppid [-ppid ...] | filename [options]}
mpcntl -x -ccpu [-ccpu ...] {-ppid [-ppid ...] | filename [options]}
mpcntl -u {-ppid [-ppid ...] | filename [options]}
mpcntl -a {-ppid [-ppid ...] | filename [options]}
mpcntl -n {-ppid [-ppid ...] | filename [options]}
mpcntl -f -ppid [-ppid ...]
mpcntl -N
mpcntl -I [-ccpu ...]
mpcntl -B{e|d} -ccpu [-ccpu ...]
mpcntl -X{e|d} -ccpu [-ccpu ...]
mpcntl -O -ccpu [-ccpu ...]
mpcntl -R -ccpu [-ccpu ...]
mpcntl -D{e|d} -ccpu [-ccpu ...]
mpcntl -H -ccpu [-ccpu ...]
mpcntl -A -ccpu [-ccpu ...]
DESCRIPTION
mpcntl provides a number of multiprocessor (MP) specific services to
application programmers wishing to exploit this environment.
OPTIONS
-b Binds a process to the CPU(s) specified by the -c option list.
The target process(es) is/are specified by the -p option in the
form of a pid list or the target file, filename, is exec'd with
any additional options. The user must either have superuser priv-
ileges or have the same effective user ID as the target process
and the user must have the special privilege granted [see
pfenable(1M)].
-x Exclusively binds a process to the CPU(s) specified by the -c
option list. The target process(es) is/are specified by the -p
option in the form of a pid list or the target file, filename, is
exec'd with any additional options. The user must either have
superuser privileges or have the same effective user ID as the
Page 1 Reliant UNIX 5.44 Printed 11/98
mpcntl(1M) mpcntl(1M)
target process and the user must have the special privilege
granted [see pfenable(1M)].
-u Unbinds (exclusive or regular bindings) a process. The target
process(es) is/are specified by the -p option in the form of a
pid list or the target file, filename, is exec'd with any addi-
tional options. The user must either have superuser privileges or
have the same effective user ID as the target process.
-a Allows a process to gain affinity on CPUs (default condition).
See mpcntl(3X) for a definition of affinity. The target
process(es) is/are specified by the -p option in the form of a
pid list or the target file, filename, is exec'd with any addi-
tional options. The user must either have superuser privileges or
have the same effective user ID as the target process.
-n Disallows a process from gaining affinity on CPUs. See mpcntl(3X)
for a definition of affinity. The target process(es) is/are
specified by the -p option in the form of a pid list or the tar-
get file, filename, is exec'd with any additional options. The
user must either have superuser privileges or have the same
effective user ID as the target process and the user must have
the special privilege granted [see pfenable(1M)].
-f Displays the mpcntl flag and binding attributes for the
process(es) specified by the -p pid list. The flag attributes
will be: (1) "bind" or "xbnd" or "nbnd" if the process has a nor-
mal binding, an exclusive binding or no binding, respectively (2)
"naf" or "aff" if the process is not allowed to gain affinity or
is allowed to gain affinity, respectively (3) "npr" or "prm" if
the process is in non-preemptive mode or preemptive mode, respec-
tively. For "npr" the modifier "[sig]" means that the process is
not immune to signals or "[nsig]" means that the process is
immune from receiving "caught signals". See mpcntl(3X) for a
detailed specification of signal behavior with regards to non-
preemptive mode.
-N Returns the number of CPUs configured in the system. This number
does not imply that all CPUs are active at the present time.
-I Returns CPU information for the CPUs identified in the -c option
list. If no target CPUs are specified, then all information for
all active CPUs is returned. The following information is pro-
vided:
- The CPU physical ID.
- The CPU status flags.
- The CPU attributes.
- The CPU type.
Page 2 Reliant UNIX 5.44 Printed 11/98
mpcntl(1M) mpcntl(1M)
- The FPU type(s).
- The secondary cache size.
- The number of processes bound to the CPU.
- The number of processes exclusively bound to the CPU.
- The number of processes with driver bindings to the CPU.
- The number of processes with interrupt bindings to the CPU.
- The CPU clock rate.
The status flags are interpreted as follows:
i/I The CPU is (is not) in service.
a/A The CPU is available (is not available) for normal pro-
cess execution.
b/B The CPU is available (is not available) for normal pro-
cess bindings.
x/X The CPU is available (is not available) for exclusive
process bindings.
c/C The CPU cache is (is not) enabled.
o/O The CPU is (is not) accepting I/O interrupts.
The attribute flags are interpreted as follows:
i/I The CPU is (is not) capable of taking I/O interrupts.
a/A The CPU has (does not have) uniform access to I/O
addresses.
u/U The CPU has (does not have) uniform access to memory.
m/M The CPU is not (is) the master/boot CPU.
d/D The CPU has no (has) drivers bound to it.
Page 3 Reliant UNIX 5.44 Printed 11/98
mpcntl(1M) mpcntl(1M)
-B Enables/Disables the ability of CPU(s) identified in the -c
option list to accept normal processes bindings. The "e" modifier
implies an enabling of the CPU's ability to accept bindings and
the "d" modifier implies a disabling of the CPU's ability to
accept bindings. The user must have superuser privileges.
-X Enables/Disables the ability of CPU(s) identified in the -c
option to accept exclusive processes boundings. The "e" modifier
implies an enabling of the CPU's ability to accept bindings and
the "d" modifier implies a disabling of the CPU's ability to
accept bindings. The user must have superuser privileges.
-O Removes the specified CPU(s) from service. This has the effect of
canceling bindings to the CPU(s) and may have the side effect of
making drivers that are bound to the CPU(s) inaccessible. By
default, all configured CPUs are started when the system is
booted. This option may not be supported by all implementations.
-D Enables/Disables the ability of CPU(s) identified in the -c
option to receive distributed I/O interrupts. The "e" modifier
implies an enabling of the CPU's ability to accept interrupts and
the "d" modifier implies a disabling of the CPU's ability to
accept bindings. The must have superuser privileges and the
option may not be supported by all implementations.
-R Restores the specified CPU(s) to service. CPU(s) that have been
removed from service via the -O option can be restored to service
with this option. Independent of support for the -O option, the
-R option may not be supported by all implementations.
-H Marks the specified CPU(s) as not available. This implies that
the CPU(s) will not attempt to execute processes other than those
with kernel bindings for it (e.g. for purposes of supporting a
bound driver). The CPU may still vie for interrupts and other
global system processing functions (e.g. callout processing). The
user must have superuser privileges.
-A Restores the availability of the specified CPU(s). This allows
the CPU(s) to execute processes, within the constraints of bind-
ing, as well as service kernel bound services. Effectively, this
option is the inverse of the -H option.
SEE ALSO
launchit(1M), pfenable(1M), mpcntl(3X).
Page 4 Reliant UNIX 5.44 Printed 11/98