Jeff Roberson d7f687fc9b 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
2008-03-02 07:39:22 +00:00
..
2006-09-26 09:47:46 +00:00
2005-12-13 13:43:35 +00:00
2005-12-13 13:43:35 +00:00
2008-02-25 13:03:18 +00:00
2007-03-09 19:43:42 +00:00
2005-02-09 18:07:17 +00:00
2006-09-17 21:27:35 +00:00
2005-02-13 22:25:33 +00:00
2006-10-07 05:13:32 +00:00
2007-04-05 21:17:52 +00:00
2005-02-13 22:25:33 +00:00
2007-06-13 19:22:29 +00:00
2007-04-05 21:17:52 +00:00
2005-01-20 09:17:07 +00:00
2007-05-14 13:58:54 +00:00
2005-01-20 09:17:07 +00:00
2007-12-19 03:33:13 +00:00
2005-02-15 09:27:00 +00:00
2005-02-13 23:45:54 +00:00
2006-09-17 21:27:35 +00:00
2005-11-17 13:00:00 +00:00
2005-12-13 13:43:35 +00:00
2007-06-18 01:50:03 +00:00
2007-06-18 01:50:03 +00:00
2007-06-18 01:50:03 +00:00