pset.c revision fb9b0aa8c76ff829a7069d38161a2cecc656b091
199767f8919635c4928607450d9e0abb932109ceToomas Soome * CDDL HEADER START
199767f8919635c4928607450d9e0abb932109ceToomas Soome * The contents of this file are subject to the terms of the
199767f8919635c4928607450d9e0abb932109ceToomas Soome * Common Development and Distribution License (the "License").
199767f8919635c4928607450d9e0abb932109ceToomas Soome * You may not use this file except in compliance with the License.
199767f8919635c4928607450d9e0abb932109ceToomas Soome * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
199767f8919635c4928607450d9e0abb932109ceToomas Soome * See the License for the specific language governing permissions
199767f8919635c4928607450d9e0abb932109ceToomas Soome * and limitations under the License.
199767f8919635c4928607450d9e0abb932109ceToomas Soome * When distributing Covered Code, include this CDDL HEADER in each
199767f8919635c4928607450d9e0abb932109ceToomas Soome * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
199767f8919635c4928607450d9e0abb932109ceToomas Soome * If applicable, add the following below this CDDL HEADER, with the
199767f8919635c4928607450d9e0abb932109ceToomas Soome * fields enclosed by brackets "[]" replaced with your own identifying
199767f8919635c4928607450d9e0abb932109ceToomas Soome * information: Portions Copyright [yyyy] [name of copyright owner]
199767f8919635c4928607450d9e0abb932109ceToomas Soome * CDDL HEADER END
199767f8919635c4928607450d9e0abb932109ceToomas Soome * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
199767f8919635c4928607450d9e0abb932109ceToomas Soome * Use is subject to license terms.
199767f8919635c4928607450d9e0abb932109ceToomas Soomestatic int pset(int, long, long, long, long);
199767f8919635c4928607450d9e0abb932109ceToomas Soome &mod_syscallops, "processor sets", &pset_sysent
199767f8919635c4928607450d9e0abb932109ceToomas Soome &mod_syscallops32, "32-bit pset(2) syscall", &pset_sysent
199767f8919635c4928607450d9e0abb932109ceToomas Soome#define PSET_BADATTR(attr) ((~PSET_NOESCAPE) & (attr))
if (error) {
pool_unlock();
pool_unlock();
pool_unlock();
return (error);
int error;
pool_lock();
pool_unlock();
pool_unlock();
if (error)
int error = 0;
pool_lock();
pool_unlock();
pool_unlock();
pool_unlock();
if (error)
int pset_type;
int error = 0;
KM_SLEEP);
goto out;
goto out;
out:
void *zonebuf)
int error = 0;
switch (pset) {
case PS_SOFT:
case PS_HARD:
case PS_QUERY:
case PS_QUERY_TYPE:
return (EPERM);
return (EPERM);
return (error);
void *zonebuf)
int error = 0;
return (ENOTSUP);
int rval;
zonebuf);
if (error == 0)
return (error);
void *zonebuf)
int error = 0;
return (ESRCH);
int rval;
zonebuf);
if (error == 0)
return (error);
int error = 0;
int rval;
zonebuf);
if (error == 0)
return (error);
void *zonebuf)
int error = 0;
int rval;
zonebuf);
if (error == 0)
return (error);
int error = 0;
int rval;
return (EINVAL);
if (error == 0)
return (error);
int error = 0;
int rval;
zonebuf);
if (error == 0)
return (error);
int error = 0;
pool_lock();
goto err;
goto err;
goto err;
err:
pool_unlock();
if (error != 0)
int error = 0;
pool_lock();
pool_unlock();
pool_unlock();
pool_unlock();
switch (idtype) {
case P_LWPID:
case P_PID:
case P_TASKID:
case P_PROJID:
zonebuf);
case P_ZONEID:
case P_CTID:
zonebuf);
case P_PSETID:
case P_ALL:
pool_unlock();
if (error != 0)
int error = 0;
if (nelem < 0)
if (error)
int error = 0;
real_npsets = 0;
KM_SLEEP);
if (real_npsets) {
KM_SLEEP);
if (real_npsets)
if (error)
int error;
pool_lock();
pool_unlock();
pool_unlock();
pool_unlock();
pool_unlock();
int error = 0;
switch (subcode) {
case PSET_CREATE:
case PSET_DESTROY:
case PSET_ASSIGN:
case PSET_INFO:
case PSET_BIND:
case PSET_BIND_LWP:
case PSET_GETLOADAVG:
(int)arg3));
case PSET_LIST:
case PSET_SETATTR:
case PSET_GETATTR:
case PSET_ASSIGN_FORCED: