pset_destroy(2) 						System Calls Manual						   pset_destroy(2)

NAME
pset_destroy() - destroy a processor set SYNOPSIS
DESCRIPTION
The 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 attribute of the processor set through the function. See pset_getattr(2). The following values are supported for the attribute: 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 proces- sor set. Make the request fail with if there are any threads or processes bound to pset or if there are processors assigned to the pset. Make the request fail with 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 processor 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 privilege or a user with WRITE permission on the pset may destroy the processor set pset. The system default processor set may never be destroyed. Security Restrictions Some or all of the actions associated with this system call require the 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 destruction of a processor set migrates a set of processor cores to the default processor set. Depending on the source processor set and the default processor set's 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. RETURN VALUE
returns zero on successful completion. Otherwise, -1 is returned and is set to indicate the error. ERRORS
fails if one or more of the following is true: The attribute value for the processor set does not allow deletion of a non-empty processor set. The operation was interrupted. pset is not a valid processor set. The processor set functionality is not supported by the underlying HP-UX version. The user does not have necessary permissions to destroy a processor set or the system default processor set was specified. SEE ALSO
psrset(1M), pset_assign(2), pset_bind(2), pset_create(2), pset_ctl(2), pset_getattr(2), privgrp(4), privileges(5). pset_destroy(2)