freebsd-skq/sys
jhb 68f0af82de Implement support for cpusets in the 4BSD scheduler.
- When a cpuset is applied to a thread, walk the cpuset to see if it is a
  "full" cpuset (includes all available CPUs).  If not, set a new
  TDS_AFFINITY flag to indicate that this thread can't run on all CPUs.
  When inheriting a cpuset from another thread during thread creation, the
  new thread also inherits this flag.  It is in a new ts_flags field in
  td_sched rather than using one of the TDF_SCHEDx flags because fork()
  clears td_flags after invoking sched_fork().
- When placing a thread on a runqueue via sched_add(), if the thread is not
  pinned or bound but has the TDS_AFFINITY flag set, then invoke a new
  routine (sched_pickcpu()) to pick a CPU for the thread to run on next.
  sched_pickcpu() walks the cpuset and picks the CPU with the shortest
  per-CPU runqueue length.  Note that the reason for the TDS_AFFINITY flag
  is to avoid having to walk the cpuset and examine runq lengths in the
  common case.
- To avoid walking the per-CPU runqueues in sched_pickcpu(), add an array
  of counters to hold the length of the per-CPU runqueues and update them
  when adding and removing threads to per-CPU runqueues.

MFC after:	2 weeks
2008-07-28 17:25:24 +00:00
..
amd64 Don't allow pmap_change_attr() to be applied to the recursive mapping. 2008-07-28 04:59:48 +00:00
arm - Whitespace fixes. 2008-07-22 14:04:06 +00:00
boot Only descend into the boot directory for the architecture if it 2008-07-23 07:23:33 +00:00
bsm
cam Add quirk for the Samsung YP-U3 2008-07-09 17:00:14 +00:00
cddl We want to use LBOLT instead of lbolt on FreeBSD. 2008-07-21 14:35:48 +00:00
compat Add TIOCPKT and TIOCSPTLCK to the Linuxolator. 2008-07-23 17:47:44 +00:00
conf - Connect ds1339 to the build infrastructure. 2008-07-25 19:35:40 +00:00
contrib 2020447 IPFilter's NAT can undo name server random port selection 2008-07-26 19:46:00 +00:00
crypto Convert lock that protects sessions list from a mutex to a rwlock. 2008-07-20 07:34:00 +00:00
ddb Print out the container lock when showing the thread state in DDB. 2008-06-18 20:42:01 +00:00
dev Export the hardware type (as number and name), the secondary firmware 2008-07-28 17:00:37 +00:00
fs Introduce a new lock, hostname_mtx, and use it to synchronize access 2008-07-05 13:10:10 +00:00
gdb Commit SYSINIT() ;-adding patch missed in previous pass. 2008-03-16 13:02:04 +00:00
geom Trivial commit to attempt to diagnose a svn problem. Add 2008-07-22 18:05:50 +00:00
gnu - Disallow XFS mounting in write mode. The write support never worked really 2008-07-21 23:01:09 +00:00
i386 Correct an off-by-one error in the previous change to pmap_change_attr(). 2008-07-28 05:41:35 +00:00
ia64 Update bus_dmamem_alloc()'s first call to malloc() such that M_WAITOK is 2008-07-15 03:34:49 +00:00
isa atrtc.c is a repocopy of the RTC device driver from i386/isa/clock.c 2008-04-14 07:57:15 +00:00
kern Implement support for cpusets in the 4BSD scheduler. 2008-07-28 17:25:24 +00:00
libkern Return arc4_i = arc4_j = 0; line from previous backing out since 2008-07-26 16:42:45 +00:00
mips In FreeBSD 7.0 and beyond, pmap_growkernel() should pass VM_ALLOC_INTERRUPT 2008-07-07 17:31:02 +00:00
modules Prefer the opt_global.h from KERNBUILDDIR if existent so we obtain all 2008-07-24 14:07:52 +00:00
net Add the ability to add new addresses for interfacesto just one FIB 2008-07-27 01:29:28 +00:00
net80211 don't deauth a station because it sends a ps-poll w/ a bogus aid in it; 2008-07-26 23:50:27 +00:00
netatalk Remove NETISR_MPSAFE, which allows specific netisr handlers to be directly 2008-07-04 00:21:38 +00:00
netgraph Fill in the string portion of the bluetooth stack version sysctl. 2008-07-14 13:45:05 +00:00
netinet Some style and assertion fixes to the previous commits hinted by rwatson. 2008-07-28 06:57:28 +00:00
netinet6 According to in_pcb.h protocol binding information has double locking. 2008-07-27 20:30:34 +00:00
netipsec Fill in a few sysctl descriptions. 2008-07-26 00:55:35 +00:00
netipx Begin the sysctl descriptions with a capital letter. 2008-07-25 23:54:07 +00:00
netnatm Remove NETISR_MPSAFE, which allows specific netisr handlers to be directly 2008-07-04 00:21:38 +00:00
netncp lockmgrs need to be released before to be destroyed and draining doesn't 2008-03-30 18:16:33 +00:00
netsmb Really, smb_iod_main() is not totally MPSAFE, so just acquire and drop 2008-03-27 01:23:59 +00:00
nfs Replaced the misleading uses of a historical artefact M_TRYWAIT with M_WAIT. 2008-03-25 09:39:02 +00:00
nfs4client Move the NFS/RPC code away from lbolt. 2008-07-22 21:27:22 +00:00
nfsclient Try again not to use a userspace pointer in the kernel when trying to record 2008-07-24 14:02:03 +00:00
nfsserver Remove spls from NFS server setup call; expand receive socket buffer 2008-06-30 20:43:06 +00:00
nlm Introduce a new lock, hostname_mtx, and use it to synchronize access 2008-07-05 13:10:10 +00:00
opencrypto Make ftruncate a 'struct file' operation rather than a vnode operation. 2008-01-07 20:05:19 +00:00
pc98 Add HWPMC_HOOKS to GENERIC kernels, this makes hwpmc.ko work out 2008-07-07 22:55:11 +00:00
pccard
pci Add driver support for RTL8102E and RTL8102EL which is the second 2008-07-09 01:58:18 +00:00
powerpc Add HWPMC_HOOKS to GENERIC kernels, this makes hwpmc.ko work out 2008-07-07 22:55:11 +00:00
rpc Re-work the code slightly to avoid a possible livelock. 2008-07-23 09:18:08 +00:00
security Minor white space tweak. 2008-07-23 07:42:31 +00:00
sparc64 - Remove redundant inclusion of opt_global.h. 2008-07-21 17:15:51 +00:00
sun4v Add HWPMC_HOOKS to GENERIC kernels, this makes hwpmc.ko work out 2008-07-07 22:55:11 +00:00
sys Call pargs_drop() unconditionally in do_execve(), the function correctly 2008-07-25 11:55:32 +00:00
tools Introduce a standalone shell script for embedding MFS image. 2008-02-05 10:46:30 +00:00
ufs The ffs_balloc_ufs{1,2} functions call bdwrite() while having several 2008-07-23 14:32:44 +00:00
vm Eliminate stale comments from kmem_malloc(). 2008-07-18 17:41:31 +00:00
xdr Add the new kernel-mode NFS Lock Manager. To use it instead of the 2008-03-26 15:23:12 +00:00
Makefile o Add cddl, nlm and xdr to CSCOPEDIRS. 2008-07-20 09:16:00 +00:00