freebsd-dev/sys/conf
John Baldwin 2498cf8c42 Add code to make default mutexes adaptive if the ADAPTIVE_MUTEXES kernel
option is used (not on by default).

- In the case of trying to lock a mutex, if the MTX_CONTESTED flag is set,
  then we can safely read the thread pointer from the mtx_lock member while
  holding sched_lock.  We then examine the thread to see if it is currently
  executing on another CPU.  If it is, then we keep looping instead of
  blocking.
- In the case of trying to unlock a mutex, it is now possible for a mutex
  to have MTX_CONTESTED set in mtx_lock but to not have any threads
  actually blocked on it, so we need to handle that case.  In that case,
  we just release the lock as if MTX_CONTESTED was not set and return.
- We do not adaptively spin on Giant as Giant is held for long times and
  it slows SMP systems down to a crawl (it was taking several minutes,
  like 5-10 or so for my test alpha and sparc64 SMP boxes to boot up when
  they adaptively spinned on Giant).
- We only compile in the code to do this for SMP kernels, it doesn't make
  sense for UP kernels.

Tested on:	i386, alpha, sparc64
2002-05-21 20:47:11 +00:00
..
defines
files Remove IFS from 5.0-CURRENT. This facilitates introducing UFS2 as 2002-05-19 00:11:08 +00:00
files.alpha ${MACHINE_ARCH}dump.c -> dump_machdep.c. 2002-05-13 02:40:21 +00:00
files.i386 Hook up the new linux_ptrace implementation. 2002-05-19 01:27:14 +00:00
files.ia64 ${MACHINE_ARCH}dump.c -> dump_machdep.c. 2002-05-13 02:40:21 +00:00
files.pc98 MFi386: 1.398-1.399 (${MACHINE_ARCH}_dump.c -> dump_machdep.c) 2002-05-21 04:13:08 +00:00
files.powerpc Build the fpu support routines. 2002-05-13 07:53:22 +00:00
files.sparc64 De-inline the tlb demap functions. These were so big that gcc3.1 refused 2002-05-20 16:10:17 +00:00
kern.mk Use -ffreestanding for kernel bits unconditionally. 2002-05-04 20:07:33 +00:00
kern.post.mk sysctl -w -> sysctl 2002-05-11 06:06:11 +00:00
kern.pre.mk Translated -malign-functions=4 to -falign-functions=16 for the new gcc. 2002-05-12 15:51:38 +00:00
kmod_syms.awk Respect setting of NM to allow cross-building. 2002-04-19 09:04:53 +00:00
kmod.mk Check that kldxref(8) exists before running it. 2002-05-14 07:49:12 +00:00
ldscript.alpha Use the kernbase symbol exported from locore.o instead of hardcoded magic 2001-09-20 09:19:38 +00:00
ldscript.amd64 Remove hard coded magic load address. Now to change the load address, 2001-09-18 01:12:43 +00:00
ldscript.i386 Remove hard coded magic load address. Now to change the load address, 2001-09-18 01:12:43 +00:00
ldscript.ia64 Put symbols at the start and end of the unwind section so that we can 2001-10-29 11:40:14 +00:00
ldscript.powerpc Page align the data segment. 2001-10-08 10:43:34 +00:00
ldscript.sparc64 Add kernbase symbol and use it instead of magic numbers in the 2001-09-21 05:43:38 +00:00
majors Grab a major number for OpenFirmware disk devices. 2002-04-15 10:41:47 +00:00
Makefile.alpha Commit some infrastructure for turning on -Werror for kernel compiles. 2002-02-20 23:35:56 +00:00
Makefile.i386 Commit some infrastructure for turning on -Werror for kernel compiles. 2002-02-20 23:35:56 +00:00
Makefile.ia64 Remove CWARNFLAGS and add GCC3. We handle GCC3.x specific flags 2002-05-19 03:41:48 +00:00
Makefile.pc98 Commit some infrastructure for turning on -Werror for kernel compiles. 2002-02-20 23:35:56 +00:00
Makefile.powerpc Remove the setting of 'FMT'. We now do ELF by default, so only bother 2002-03-24 17:45:46 +00:00
Makefile.sparc64 MFP4. This slipped into a IFC(MFC) by PHK, but it could still be useful 2002-03-24 17:42:06 +00:00
makeLINT.sed Join the pissing contest: generate LINT with a single sed(1) command. 2002-05-02 16:34:47 +00:00
newvers.sh setlocale(3) has been fixed to match POSIX standard: 2001-03-02 16:52:14 +00:00
NOTES Add code to make default mutexes adaptive if the ADAPTIVE_MUTEXES kernel 2002-05-21 20:47:11 +00:00
options Add code to make default mutexes adaptive if the ADAPTIVE_MUTEXES kernel 2002-05-21 20:47:11 +00:00
options.alpha More s/file system/filesystem/g 2002-05-16 21:28:32 +00:00
options.i386 More s/file system/filesystem/g 2002-05-16 21:28:32 +00:00
options.ia64 Allow a kernel to be compiled with both SKI and acpica and still 2002-04-14 04:33:41 +00:00
options.pc98 Remove unneeded entries. 2002-05-19 13:18:10 +00:00
options.powerpc Add a cosmetic comment. 2001-08-02 23:54:23 +00:00
options.sparc64 Add a DEBUGGER_ON_POWERFAIL option. This makes the power button on ultra 10s 2002-03-13 05:58:45 +00:00
systags.sh $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00