These functions control the creation and management of sets of processors. Processor sets allow a subset of the system's processors to be set aside for exclusive use by specified LWPs
and processes. The binding of LWPs and processes to processor sets is controlled by pset_bind(2).
The pset_create() function creates an empty processor set that contains no processors. On successful return, newpset will contain the ID of the new processor set.
The pset_destroy() function destroys the processor set pset, releasing its constituent processors and processes. If pset is PS_MYID, the processor set to which the caller is bound is destroyed.
The pset_assign() function assigns the processor cpu to the processor set pset. A processor that has been assigned to a processor set will run only LWPs and processes that have been explicitly bound to that processor
set, unless another LWP requires a resource that is only available on that processor.
On successful return, if opset is non-null, opset will contain the processor set ID of the former processor set of the processor.
If pset is PS_NONE, pset_assign() releases processor cpu from its current processor set.
If pset is PS_QUERY, pset_assign() makes no change to processor sets, but returns the current processor set ID of processor cpu in opset.
If pset is PS_MYID, processor cpu is assigned to the processor set to which the caller belongs. If the caller does not belong to a processor set, processor cpu is released from its current processor set.
These functions are restricted to super-user use, except for pset_assign() when pset is PS_QUERY.
|