freebsd-dev/sys/conf
John Baldwin 44f3b09204 Switch the sleep/wakeup and condition variable implementations to use the
sleep queue interface:
- Sleep queues attempt to merge some of the benefits of both sleep queues
  and condition variables.  Having sleep qeueus in a hash table avoids
  having to allocate a queue head for each wait channel.  Thus, struct cv
  has shrunk down to just a single char * pointer now.  However, the
  hash table does not hold threads directly, but queue heads.  This means
  that once you have located a queue in the hash bucket, you no longer have
  to walk the rest of the hash chain looking for threads.  Instead, you have
  a list of all the threads sleeping on that wait channel.
- Outside of the sleepq code and the sleep/cv code the kernel no longer
  differentiates between cv's and sleep/wakeup.  For example, calls to
  abortsleep() and cv_abort() are replaced with a call to sleepq_abort().
  Thus, the TDF_CVWAITQ flag is removed.  Also, calls to unsleep() and
  cv_waitq_remove() have been replaced with calls to sleepq_remove().
- The sched_sleep() function no longer accepts a priority argument as
  sleep's no longer inherently bump the priority.  Instead, this is soley
  a propery of msleep() which explicitly calls sched_prio() before
  blocking.
- The TDF_ONSLEEPQ flag has been dropped as it was never used.  The
  associated TDF_SET_ONSLEEPQ and TDF_CLR_ON_SLEEPQ macros have also been
  dropped and replaced with a single explicit clearing of td_wchan.
  TD_SET_ONSLEEPQ() would really have only made sense if it had taken
  the wait channel and message as arguments anyway.  Now that that only
  happens in one place, a macro would be overkill.
2004-02-27 18:52:44 +00:00
..
defines
files Switch the sleep/wakeup and condition variable implementations to use the 2004-02-27 18:52:44 +00:00
files.alpha Forgot ffsl() and flsl() on alpha. 2004-01-13 18:05:49 +00:00
files.amd64 Add crypto implemenation files (C versions (like alpha, unlike i386)) 2004-02-05 01:09:29 +00:00
files.i386 Switch to using the new $PIR interrupt routing code and remove the old 2004-02-18 22:41:53 +00:00
files.ia64 Add ffsl(), fls() flsl() to platforms that don't already have them. 2004-01-13 15:37:23 +00:00
files.pc98 MFi386: revision 1.466 2004-02-19 13:10:39 +00:00
files.powerpc Work-in-progress for the 'Kauai' ATA device in Mac notebooks. The 2004-02-12 09:17:16 +00:00
files.sparc64 Re-add libkern/ffs.c. I thought sparc64 had an inline version, but 2004-01-14 08:38:13 +00:00
kern.mk Reduce the inline limit from 20000 to 8000 after the previous changes 2004-02-06 20:40:04 +00:00
kern.post.mk Merged from kmod.mk,v 1.152: strip debugging symbols even when not 2004-02-13 13:21:41 +00:00
kern.pre.mk Tweak existing header and other build infrastructure to be able to build 2004-02-26 03:53:54 +00:00
kmod_syms.awk Our awk does not implement the ARGIND variable, so we were attempting 2002-08-06 19:31:04 +00:00
kmod.mk Reduce the number of knobs controlling the build of debug modules 2004-02-13 10:40:54 +00:00
ldscript.alpha Don't override the standard SYSTEM_LD setting from kern.pre.mk. 2004-02-13 12:28:53 +00:00
ldscript.amd64 Sync up with the files in the hammer branch in the p4 tree to get basic 2003-05-01 02:59:24 +00:00
ldscript.i386 Align the .ctors section correctly. 2003-12-03 07:40:03 +00:00
ldscript.ia64 Load the kernel at a 64M instead of 5M. The advantage of this is that 2003-09-06 05:15:36 +00:00
ldscript.powerpc Page align the data segment. 2001-10-08 10:43:34 +00:00
ldscript.sparc64 Use the same SEARCH_DIR as other platforms. 2003-06-07 18:23:50 +00:00
majors Fix vinums cdevsw{} to initialize d_version. 2004-02-23 08:55:13 +00:00
majors.awk Add necessary awk magic to create a table of major numbers allocated 2003-02-27 08:52:11 +00:00
Makefile.alpha Don't override the standard SYSTEM_LD setting from kern.pre.mk. 2004-02-13 12:28:53 +00:00
Makefile.amd64 Stop this warning: 2003-09-30 03:49:09 +00:00
Makefile.i386 Bump the config version to force people to upgrade their config(8) 2003-04-15 21:29:11 +00:00
Makefile.ia64 Revamp of the syscall path, exception and context handling. The 2003-05-16 21:26:42 +00:00
Makefile.pc98 Bump the config version to force people to upgrade their config(8) 2003-04-15 21:29:11 +00:00
Makefile.powerpc Remove duplicate script for locore.o 2003-12-09 15:48:20 +00:00
Makefile.sparc64 Bump the config version to force people to upgrade their config(8) 2003-04-15 21:29:11 +00:00
makeLINT.mk Implemented "nooption" and "nomakeoption" config(8) tokens. 2003-02-26 23:36:59 +00:00
makeLINT.sed Implemented "nooption" and "nomakeoption" config(8) tokens. 2003-02-26 23:36:59 +00:00
newvers.sh Stay in sync with src/COPYRIGHT and src/sys/sys/copyright.h, 2004-01-11 14:13:29 +00:00
NOTES Fixed some style bugs in previous commit (unsorting of the DDB_* options, 2004-02-25 08:57:33 +00:00
options Tweak existing header and other build infrastructure to be able to build 2004-02-26 03:53:54 +00:00
options.alpha Add option NO_SIO to work-around the hardcoded dependency on sio(4). 2003-08-25 03:43:08 +00:00
options.amd64 Initial landing of SMP support for FreeBSD/amd64. 2003-11-17 08:58:16 +00:00
options.i386 Fixed some style bugs (insertion sort errors, tab lossage, and ornation 2004-01-25 15:27:23 +00:00
options.ia64 Add LOG2_ID_PAGE_SIZE to the mix of options on ia64. 2003-09-09 18:30:20 +00:00
options.pc98 Fixed some style bugs. 2004-01-26 12:28:40 +00:00
options.powerpc Add required GFB options as well as one for ofw/syscons. 2004-01-21 05:20:58 +00:00
options.sparc64 Hook syscons and the creator driver up to the sparc64. This compiles but 2003-08-24 01:54:06 +00:00
systags.sh Fix pathname so 'make tags' in a kernel build directory looks in 2004-01-29 14:58:22 +00:00