psrset(1M)psrset(1M)NAMEpsrset - create and manage processor sets
SYNOPSIS
pset_id processor_list
pset_id pid_list
[processor_list]
pset_list
pset_id command [argument_list]
pset_id pgid
[pset_list]
pset_id
[processor_list]
[pid_list]
processor_list
pset_id
pid_list
pset_id
pset_id uid
Real Time Extensions Commands
pset_id
pset_id
[processor_list]
DESCRIPTION
The utility controls the management of processor sets. Processor sets
allow a subset of processors in the system to be isolated for exclusive
use by specified threads and processes. Processes may now be bound to
groups of processors rather than just one. Each processor set repre‐
sents a separate scheduling allocation domain. Schedulers in each pro‐
cessor set work independently; there is no load balancing performed
across processor set boundary by the system.
The default processor set (0) always exists and may not be destroyed.
All processes and processors at system init time start out in the sys‐
tem default processor set. For this reason processor 0 may never be
removed from the default group. (Hence this feature is of no value on
a single processor system.)
A processor belongs to exactly one processor set at a time, and it can
be reassigned from one processor set to another processor set dynami‐
cally with appropriate privileges. There can exist processor sets with
no processors. This may be temporary due to resource needs elsewhere
in the system. (See pset_assign(2) for details).
A process or a thread is bound to exactly one processor at a time, and
their binding can be changed from one processor set to another with
appropriate privileges. All threads of a process need not belong to
the same processor set. (See pset_bind(2) for details).
A processor set has access permissions, and only the users with appro‐
priate permissions may perform operations on processor sets. A supe‐
ruser or a privilege user may perform any operation on processor sets.
(See pset_create(2) and pset_setattr(2) for details).
Options
If no options are specified for the command, then the option is assumed
(see below).
The following options are supported:
Assigns processor_list to pset_id. processor_list is the list
of processors, and pset_id is the processor set identi‐
fication number. The processors are taken out of their
current processor set and are reassigned to the speci‐
fied processor set. Processor 0 may not be reassigned.
If the processor being reassigned is the last processor
in its current processor set, the behavior is defined by
the attribute. See the option to define The possible
attribute values for are as follows:
Default behavior. Reassign the processor to
the specified processor set, and return the
active processes/threads in the processor
set to the default set.
Fail the request.
Binds pid_list to pset_id. pid_list is the specified list of
processes (including all their threads), and pset_id is
the specified processor set. Bindings are inherited, so
newly created threads and processes will inherit their
processor set binding from their parents.
If the target processor (pset_id) has no processors
assigned, the behavior is defined by the attribute. See
the option to define The possible attribute values for
are as follows:
Default behavior. Fail the request.
Creates a new processor set and displays the
processor set identification number (pset_id) for the
new processor set. If a list of processors (proces‐
sor_list) are specified on the command line, they are
assigned to the newly created processor set.
Destroys the specified list of processor sets
(pset_list). When the option is specified, all
the processor sets in the system are destroyed.
When the processor set has processors assigned,
or there are active processes/threads bound to
the processor set, the behavior is defined by the
value of the attribute. See the option to define
The possible attribute values for are as follows:
Default behavior. Return all processors and
threads/processes in the processor
set to the default set.
Fail the request if processor set has any
processor assigned, or has active
processes or threads.
Fail the request if there are active processes
or threads bound to the processor
set.
Executes the specified
command in the specified processor set (pset_id).
The effect is the same as binding your shell to
the target processor set, executing the command,
and changing back to your original processor set.
The command may have arguments listed in argu‐
ment_list.
Forces the operation if the HP Process Resource Manager (HP PRM)
is installed and configured. The processor sets
can also be configured by PRM. HP Process
Resource Manager is documented in the
This option is applicable to all the configura‐
tion options to override the PRM. If the force
flag is not used with configuration options in
the presence of PRM, then exits with an error
message.
IMPORTANT: If used, the option must be specified
before any other arguments are specified to the
command.
Binds all the processes (including all their threads) belonging
to
the process group (pgid) to the specified proces‐
sor set (pset_id). This option is like explic‐
itly listing all these processes with the option.
Displays the processor assignments and attribute values for all
processor sets specified in the list (pset_list)
or for all sets by default. It will also list
the Locality Domains that belong to the processor
sets. If pset_list is not specified, then infor‐
mation for all processor sets are displayed. If
no options are specified for the command, then
the option is assumed.
Enables external I/O interrupts for all processors assigned to
the specified processor set (pset_id).
Displays the processor set assignment for all processors speci‐
fied
in the list (processor_list) or for all proces‐
sors by default.
Displays the processor set binding for all processes specified
in the list (pid_list) or for all processes by
default.
Removes the specified list of processors (processor_list)
from their current processor set, and reassigns
them back to the default set. This option is
identical to
Changes the attribute value of the specified attribute on the
specified processor set (pset_id). Some values
may not be be supported. The following
attributes are supported:
Change owner of the specified processor set.
Change group id of the specified processor set.
Change access permissions of the specified pro‐
cessor set.
Define behavior on processor destroy request.
See the
option.
Define behavior on request to bind a process or
thread to
an empty processor set. See the
option.
Define behavior on request to remove the last
processor
from a processor set. See option.
Define the logical processor (LCPU) attribute in
the target processor set.
On a multi-threaded processor core,
each hardware thread is represented
as an LCPU. If LCPU is disabled,
the processor cores in the target
processor set behave as a single
threaded core. However, when LCPU
is enabled, the processor cores in
the target pset have hardware multi-
threading enabled.
Unbinds pid_list, the specified list of processes
(including all their threads), from their current
processor set returning them to the default set.
The option is identical to
Disables external I/O interrupts for all processors assigned to
the specified processor set (pset_id).
Binds all the processes (including all their threads) owned by
the
user id (uid) to the specified processor set
(pset_id). This option is like explicitly list‐
ing all these processes with option.
Real Time Extensions Options
The following options are related to Real Time Extensions (RTE)
for processor sets:
Lists all the processor sets that are configured as RTE proces‐
sor set.
Marks a processor set with the identification number,
pset_id, as an RTE processor set. The processors
that are part of the pset_id processor set become
The default processor set which contains proces‐
sor 0 may not be configured as an RTE processor
set. The processor set may or may not have pro‐
cessors assigned at this point. If has proces‐
sors assigned to it at time of request, these
processors are made unavailable to the kernel
daemons. External I/O interrupts and pending
callouts on processors in pset are reassigned to
processors in non-RTE processor sets in the sys‐
tem. The processor set attribute values are
changed to default values for an RTE processor
set.
The various failure conditions could be:
· The configuring application does not have root
privileges.
· RTE is not enabled.
· The pset_id is invalid.
Un-marks the processor set with the identification number,
pset_id, as an RTE processor set. The processor
set is not destroyed.
Creates a new RTE processor set and displays the
processor set identification number (pset_id) for
the new processor set. If a list of processors
(processor_list) are specified on the command
line, they are assigned to the newly created pro‐
cessor set.
EXTERNAL INFLUENCES
Environment Variables
provides a default value for the internationalization variables
that are unset or null. If is unset or null, the default value
of is used (see lang(5)). If any of the internationalization
variables contains an invalid setting, will behave as if all
internationalization variables are set to See environ(5).
determines the locale that overrides any values for locale cate‐
gories specified by the settings of or any environment variables
beginning with
determines the locale that affects the format and contents of
diagnostic messages written to standard error and the informa‐
tive messages written to standard output.
International Code Set Support
Single-byte and multi-byte character code sets are supported.
EXAMPLESpsrset Example
Read and display the system processor set configurations for all
processor sets. If no options are specified for the command,
then the option is assumed.
psrset-a Example
Reassign processors 4 and 1 from their current processor sets to
processor set 5:
psrset-b Example
Change the binding of a running process (pid=1000) to processor
set 6:
psrset-c Example
Create a new processor set and assign processors 1, 2 and 4 to
the new set:
psrset-e Example
Execute the command in processor set 4:
psrset-t Examples
Change behavior for processor set destroy operation to fail the
request if there are active processes bound to the processor
set:
Change the ownership of processor set 3 to user id 100:
For processor set 2, change access permissions to 666:
RETURN VALUE
returns zero on successful completion. Otherwise, a non-zero
value is returned and the message is displayed to indicate the
error.
AUTHOR
was developed by HP.
SEE ALSOpset_assign(2), pset_bind(2), pset_create(2), pset_ctl(2),
pset_destroy(2), pset_getattr(2), pset_setattr(2).
HP Process Resource Manager is documented in the
psrset(1M)