summaryrefslogtreecommitdiff
path: root/usr/src/lib/libc
diff options
context:
space:
mode:
authorSurya Prakki <Surya.Prakki@Sun.COM>2009-07-15 00:07:13 -0700
committerSurya Prakki <Surya.Prakki@Sun.COM>2009-07-15 00:07:13 -0700
commitfb9b0aa8c76ff829a7069d38161a2cecc656b091 (patch)
treee37522fcc8f760240b049c073ab359eaf817c2e6 /usr/src/lib/libc
parentc946faca5d4627284fb79c6b04e652b471034495 (diff)
downloadillumos-gate-fb9b0aa8c76ff829a7069d38161a2cecc656b091.tar.gz
6757037 Zone-spawned LWP needs to be able to run on a processor set
Diffstat (limited to 'usr/src/lib/libc')
-rw-r--r--usr/src/lib/libc/common/sys/_pset.s4
-rw-r--r--usr/src/lib/libc/port/llib-lc2
-rw-r--r--usr/src/lib/libc/port/mapfile-vers1
-rw-r--r--usr/src/lib/libc/port/sys/psetsys.c20
4 files changed, 12 insertions, 15 deletions
diff --git a/usr/src/lib/libc/common/sys/_pset.s b/usr/src/lib/libc/common/sys/_pset.s
index 1f07c80267..64d243959e 100644
--- a/usr/src/lib/libc/common/sys/_pset.s
+++ b/usr/src/lib/libc/common/sys/_pset.s
@@ -19,7 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -32,7 +32,7 @@
* _pset(int subcode, long arg1, long arg2, long arg3, long arg4)
*
* Syscall entry point for pset_create, pset_assign, pset_destroy,
- * pset_bind, and pset_info.
+ * pset_bind, pset_bind_lwp and pset_info.
*/
SYSCALL2_RVAL1(_pset,pset)
RETC
diff --git a/usr/src/lib/libc/port/llib-lc b/usr/src/lib/libc/port/llib-lc
index 1f5ed5c517..ffd9185d61 100644
--- a/usr/src/lib/libc/port/llib-lc
+++ b/usr/src/lib/libc/port/llib-lc
@@ -1347,6 +1347,8 @@ int pset_assign(psetid_t pset, processorid_t cpu, psetid_t *opset);
int pset_assign_forced(psetid_t pset, processorid_t cpu, psetid_t *opset);
int pset_info(psetid_t pset, int *type, u_int *numcpus, processorid_t *cpulist);
int pset_bind(psetid_t pset, idtype_t idtype, id_t id, psetid_t *opset);
+int pset_bind_lwp(psetid_t pset, id_t id, pid_t, psetid_t *opset);
+
/* rctlsys.c */
int getrctl(const char *name, rctlblk_t *old_rblk, rctlblk_t *new_rblk,
diff --git a/usr/src/lib/libc/port/mapfile-vers b/usr/src/lib/libc/port/mapfile-vers
index 35861f0f73..d893f8bc0d 100644
--- a/usr/src/lib/libc/port/mapfile-vers
+++ b/usr/src/lib/libc/port/mapfile-vers
@@ -1605,6 +1605,7 @@ SUNWprivate_1.1 {
__priv_bracket;
__priv_relinquish;
pset_assign_forced;
+ pset_bind_lwp;
_psignal;
_pthread_setcleanupinit;
__putwchar_xpg5;
diff --git a/usr/src/lib/libc/port/sys/psetsys.c b/usr/src/lib/libc/port/sys/psetsys.c
index 05ee9a78e4..871a1c1941 100644
--- a/usr/src/lib/libc/port/sys/psetsys.c
+++ b/usr/src/lib/libc/port/sys/psetsys.c
@@ -20,22 +20,10 @@
*/
/*
- * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#pragma weak _pset_create = pset_create
-#pragma weak _pset_destroy = pset_destroy
-#pragma weak _pset_assign = pset_assign
-#pragma weak _pset_info = pset_info
-#pragma weak _pset_bind = pset_bind
-#pragma weak _pset_getloadavg = pset_getloadavg
-#pragma weak _pset_list = pset_list
-#pragma weak _pset_setattr = pset_setattr
-#pragma weak _pset_getattr = pset_getattr
-
#include "lint.h"
#include <sys/types.h>
#include <sys/procset.h>
@@ -84,6 +72,12 @@ pset_bind(psetid_t pset, idtype_t idtype, id_t id, psetid_t *opset)
return (_pset(PSET_BIND, pset, idtype, id, opset));
}
+int
+pset_bind_lwp(psetid_t pset, id_t id, pid_t pid, psetid_t *opset)
+{
+ return (_pset(PSET_BIND_LWP, pset, id, pid, opset));
+}
+
/*
* Get the per-processor-set load average.
*/