Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved.
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
#include <sys/pset.h> int pset_setattr(psetid_t pset, uint_t attr);
int pset_getattr(psetid_t pset, uint_t *attr);
The pset_setattr() function sets attributes of the processor set specified by pset. The bitmask of attributes to be set or cleared is specified by attr.
The pset_getattr function returns attributes of the processor set specified by pset. On successful return, attr will contain the bitmask of attributes for the specified processor set.
The value of the attr argument is the bitwise inclusive-OR of these attributes, defined in <sys/pset.h>:
PSET_NOESCAPE
Unbinding of LWPs from the processor set with this attribute requires the {PRIV_SYS_RES_CONFIG} privilege to be asserted in the effective set of the calling process.
The binding of LWPs and processes to processor sets is controlled by pset_bind(2). When the PSET_NOESCAPE attribute is cleared, a process calling pset_bind() can clear the processor set binding of any LWP whose real or effective user ID matches its own real of effective user ID. Setting PSET_NOESCAPE attribute forces pset_bind() to requires the {PRIV_SYS_RES_CONFIG} privilege to be asserted in the effective set of the calling process.
Upon successful completion, these functions return 0. Otherwise, -1 is returned and errno is set to indicate the error.
These function will fail if:
EFAULT
The location pointed to by attr was not writable by the user.
EINVAL
An invalid processor set ID was specified. The caller is in a non-global zone, the pools facility is active, and the processor is not a member of the zone's pool's processor set.
ENOTSUP
The pools facility is active. See pooladm(1M) and pool_set_status(3POOL) for information about enabling and disabling the pools facility.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Interface Stability | Stable |
MT-Level | Async-Signal-Safe |
pooladm(1M), pooladm(1M), psrset(1M), zoneadm(1M), pset_bind(2), pool_set_status(3POOL), attributes(5)