pset_destroy.2 (2010 09)

p
pset_destroy(2) pset_destroy(2)
NAME
pset_destroy() - destroy a processor set
SYNOPSIS
#include <sys/pset.h>
int pset_destroy(psetid_t pset);
DESCRIPTION
The pset_destroy()
function destroys the processor set pset , releasing all constituent processors and
processes by default. The processors and processes are reassigned to the system default processor set.
Once destroyed, the pset identifier becomes available for new processor sets that may be created in the
future.
The behavior when attempting to destroy a non-empty processor set may be controlled by changing the
PSET_ATTR_NONEMPTY
attribute of the processor set through the
pset_setattr() function. See
pset_getattr (2). The following values are supported for the
PSET_ATTR_NONEMPTY
attribute:
PSET_ATTRVAL_DFLTPSET
Reassign all processors in the pset to the system default processor set. Migrate all
threads and processes bound to the pset to the system default processor set.
PSET_ATTRVAL_FAIL
Make the request fail with [EBUSY] if there are any threads or processes bound to pset
or if there are processors assigned to the pset .
PSET_ATTRVAL_FAILBUSY
Make the request fail with [EBUSY] only if there are active threads or processes bound to
the processor set. Otherwise, perform the operation by reassigning the processors in the
pset to the system default processor set.
If the threads and processes being reassigned to the default processor set have some binding to a proces-
sor or a locality domain in the pset being destroyed, their binding is reassigned to a processor or a locality
domain in the system default processor set.
A user with the
PSET privilege or a user with WRITE permission on the pset may destroy the processor
set pset . The system default processor set PS_DEFAULT may never be destroyed.
Security Restrictions
Some or all of the actions associated with this system call require the
PSET privilege. Processes owned
by the superuser have this privilege. Processes owned by other users may have this privilege, depending
on system configuration. See privileges (5) for more information about privileged access on systems that
support fine-grained privileges.
Note on Logical Processor and Hyper-Threading Feature
On systems with the Hyper-Threading (HT) feature enabled at the firmware level, each processor core
may have more than one hyper-thread per physical processor core. Each hyper-thread is represented to
the operating system and applications as a logical processor (LCPU).
Due to the processor set contract, which specifies that applications bound to a processor set have complete
and exclusive control of all processor cores within that processor set, migration of processors between two
processor sets is done at the processor core granularity.
For
pset_destroy(), destruction of a processor set migrates a set of processor cores to the default pro-
cessor set. Depending on the source processor set and the default processor set’s PSET_ATTR_LCPU, the
number of logical processors visible to the users and applications may change.
EXAMPLES
Destroy a processor set with the processor set ID of pset .
#include <sys/pset.h>
int ret;
psetid_t pset;
if ((ret = pset_destroy(pset)) < 0) {
perror("pset_destroy");
}
HP-UX 11i Version 3: September 2010 1 Hewlett-Packard Company 1

Summary of content (2 pages)