summaryrefslogtreecommitdiffstats
path: root/sys/kern/syscalls.master
diff options
context:
space:
mode:
authorjeff <jeff@FreeBSD.org>2008-03-02 07:39:22 +0000
committerjeff <jeff@FreeBSD.org>2008-03-02 07:39:22 +0000
commit694203deddc2570fd74a74f384e602bc5b335850 (patch)
tree08c6ca461fae4d8b5341e887a545b2d167f50daf /sys/kern/syscalls.master
parent3bd7de5a7ca507ccc85a2a4ede9e0fcb70122d19 (diff)
downloadFreeBSD-src-694203deddc2570fd74a74f384e602bc5b335850.zip
FreeBSD-src-694203deddc2570fd74a74f384e602bc5b335850.tar.gz
Add cpuset, an api for thread to cpu binding and cpu resource grouping
and assignment. - Add a reference to a struct cpuset in each thread that is inherited from the thread that created it. - Release the reference when the thread is destroyed. - Add prototypes for syscalls and macros for manipulating cpusets in sys/cpuset.h - Add syscalls to create, get, and set new numbered cpusets: cpuset(), cpuset_{get,set}id() - Add syscalls for getting and setting affinity masks for cpusets or individual threads: cpuid_{get,set}affinity() - Add types for the 'level' and 'which' parameters for the cpuset. This will permit expansion of the api to cover cpu masks for other objects identifiable with an id_t integer. For example, IRQs and Jails may be coming soon. - The root set 0 contains all valid cpus. All thread initially belong to cpuset 1. This permits migrating all threads off of certain cpus to reserve them for special applications. Sponsored by: Nokia Discussed with: arch, rwatson, brooks, davidxu, deischen Reviewed by: antoine
Diffstat (limited to 'sys/kern/syscalls.master')
-rw-r--r--sys/kern/syscalls.master13
1 files changed, 13 insertions, 0 deletions
diff --git a/sys/kern/syscalls.master b/sys/kern/syscalls.master
index c22f99c..c31df8d 100644
--- a/sys/kern/syscalls.master
+++ b/sys/kern/syscalls.master
@@ -850,5 +850,18 @@
482 AUE_SHMOPEN STD { int shm_open(const char *path, int flags, \
mode_t mode); }
483 AUE_SHMUNLINK STD { int shm_unlink(const char *path); }
+484 AUE_NULL STD { int cpuset(cpusetid_t *setid); }
+485 AUE_NULL STD { int cpuset_setid(cpuwhich_t which, id_t id, \
+ cpusetid_t setid); }
+486 AUE_NULL STD { int cpuset_getid(cpulevel_t level, \
+ cpuwhich_t which, id_t id, \
+ cpusetid_t *setid); }
+487 AUE_NULL STD { int cpuset_getaffinity(cpulevel_t level, \
+ cpuwhich_t which, id_t id, int cpusetsize, \
+ long *mask); }
+488 AUE_NULL STD { int cpuset_setaffinity(cpulevel_t level, \
+ cpuwhich_t which, id_t id, int cpusetsize, \
+ long *mask); }
+
; Please copy any additions and changes to the following compatability tables:
; sys/compat/freebsd32/syscalls.master
OpenPOWER on IntegriCloud