freebsd-nq/sys/conf
John Baldwin 36412d79b4 - Make the mutex code almost completely machine independent. This greatly
reducues the maintenance load for the mutex code.  The only MD portions
  of the mutex code are in machine/mutex.h now, which include the assembly
  macros for handling mutexes as well as optionally overriding the mutex
  micro-operations.  For example, we use optimized micro-ops on the x86
  platform #ifndef I386_CPU.
- Change the behavior of the SMP_DEBUG kernel option.  In the new code,
  mtx_assert() only depends on INVARIANTS, allowing other kernel developers
  to have working mutex assertiions without having to include all of the
  mutex debugging code.  The SMP_DEBUG kernel option has been renamed to
  MUTEX_DEBUG and now just controls extra mutex debugging code.
- Abolish the ugly mtx_f hack.  Instead, we dynamically allocate
  seperate mtx_debug structures on the fly in mtx_init, except for mutexes
  that are initiated very early in the boot process.   These mutexes
  are declared using a special MUTEX_DECLARE() macro, and use a new
  flag MTX_COLD when calling mtx_init.  This is still somewhat hackish,
  but it is less evil than the mtx_f filler struct, and the mtx struct is
  now the same size with and without mutex debugging code.
- Add some micro-micro-operation macros for doing the actual atomic
  operations on the mutex mtx_lock field to make it easier for other archs
  to override/optimize mutex ops if needed.  These new tiny ops also clean
  up the code in some places by replacing long atomic operation function
  calls that spanned 2-3 lines with a short 1-line macro call.
- Don't call mi_switch() from mtx_enter_hard() when we block while trying
  to obtain a sleep mutex.  Calling mi_switch() would bogusly release
  Giant before switching to the next process.  Instead, inline most of the
  code from mi_switch() in the mtx_enter_hard() function.  Note that when
  we finally kill Giant we can back this out and go back to calling
  mi_switch().
2000-10-20 07:26:37 +00:00
..
defines
files NEWCARD/Cardbus - 2000-10-19 08:34:32 +00:00
files.alpha - Make the mutex code almost completely machine independent. This greatly 2000-10-20 07:26:37 +00:00
files.i386 - Make the mutex code almost completely machine independent. This greatly 2000-10-20 07:26:37 +00:00
files.ia64 - Make the mutex code almost completely machine independent. This greatly 2000-10-20 07:26:37 +00:00
files.pc98 - Make the mutex code almost completely machine independent. This greatly 2000-10-20 07:26:37 +00:00
kern.mk Add section for building ia64 kernels. 2000-10-16 20:04:52 +00:00
kmod.mk The kernel is now known as `kernel.ko' and it and its matching modules 2000-09-05 22:37:46 +00:00
ldscript.alpha Add $FreeBSD$ 2000-01-11 15:35:16 +00:00
ldscript.amd64 Add $FreeBSD$ 2000-01-11 15:35:16 +00:00
ldscript.i386 Add $FreeBSD$ 2000-01-11 15:35:16 +00:00
ldscript.ia64 This is the first snapshot of the FreeBSD/ia64 kernel. This kernel will 2000-09-29 13:46:07 +00:00
ldscript.powerpc Add $FreeBSD$ 2000-01-11 15:35:16 +00:00
majors Add the ar ATA pseudo RAID driver 2000-10-13 13:02:17 +00:00
Makefile.alpha Make it possible to specify profiling in the kernel config file. 2000-10-14 08:33:22 +00:00
Makefile.i386 Make it possible to specify profiling in the kernel config file. 2000-10-14 08:33:22 +00:00
Makefile.ia64 Make it possible to specify profiling in the kernel config file. 2000-10-14 08:33:22 +00:00
Makefile.pc98 Make it possible to specify profiling in the kernel config file. 2000-10-14 08:33:22 +00:00
Makefile.powerpc Make it possible to specify profiling in the kernel config file. 2000-10-14 08:33:22 +00:00
newvers.sh Welcome to 5.0-current! 2000-03-13 09:13:01 +00:00
NOTES Add ifpnp driver to list of i4b hardware drivers. 2000-10-18 09:16:30 +00:00
options - Make the mutex code almost completely machine independent. This greatly 2000-10-20 07:26:37 +00:00
options.alpha Major update to the way synchronization is done in the kernel. Highlights 2000-09-07 01:33:02 +00:00
options.i386 update to i4b version 0.95.04 2000-10-09 13:41:07 +00:00
options.ia64 This is the first snapshot of the FreeBSD/ia64 kernel. This kernel will 2000-09-29 13:46:07 +00:00
options.pc98 Merged from sys/conf/{files.i386,options.i386} revisions 1.334 and 2000-10-10 08:12:15 +00:00
param.c For lockmgr mutex protection, use an array of mutexes that are allocated 2000-10-12 22:37:28 +00:00
systags.sh $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00