1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-15 10:17:20 +00:00
freebsd/sys/dev
Jake Burkholder d5a08a6065 Implement a unified run queue and adjust priority levels accordingly.
- All processes go into the same array of queues, with different
  scheduling classes using different portions of the array.  This
  allows user processes to have their priorities propogated up into
  interrupt thread range if need be.
- I chose 64 run queues as an arbitrary number that is greater than
  32.  We used to have 4 separate arrays of 32 queues each, so this
  may not be optimal.  The new run queue code was written with this
  in mind; changing the number of run queues only requires changing
  constants in runq.h and adjusting the priority levels.
- The new run queue code takes the run queue as a parameter.  This
  is intended to be used to create per-cpu run queues.  Implement
  wrappers for compatibility with the old interface which pass in
  the global run queue structure.
- Group the priority level, user priority, native priority (before
  propogation) and the scheduling class into a struct priority.
- Change any hard coded priority levels that I found to use
  symbolic constants (TTIPRI and TTOPRI).
- Remove the curpriority global variable and use that of curproc.
  This was used to detect when a process' priority had lowered and
  it should yield.  We now effectively yield on every interrupt.
- Activate propogate_priority().  It should now have the desired
  effect without needing to also propogate the scheduling class.
- Temporarily comment out the call to vm_page_zero_idle() in the
  idle loop.  It interfered with propogate_priority() because
  the idle process needed to do a non-blocking acquire of Giant
  and then other processes would try to propogate their priority
  onto it.  The idle process should not do anything except idle.
  vm_page_zero_idle() will return in the form of an idle priority
  kernel thread which is woken up at apprioriate times by the vm
  system.
- Update struct kinfo_proc to the new priority interface.  Deliberately
  change its size by adjusting the spare fields.  It remained the same
  size, but the layout has changed, so userland processes that use it
  would parse the data incorrectly.  The size constraint should really
  be changed to an arbitrary version number.  Also add a debug.sizeof
  sysctl node for struct kinfo_proc.
2001-02-12 00:20:08 +00:00
..
aac Kill a warning by marking an unused function with __unused. 2001-01-23 21:43:47 +00:00
acpica Implement a unified run queue and adjust priority levels accordingly. 2001-02-12 00:20:08 +00:00
advansys - Check if the ccb_infos in the softc is NULL before trying to free it in 2001-02-08 00:00:12 +00:00
agp un-staticize M_AGP so that it can be used in agp*.c 2000-12-19 08:32:37 +00:00
aha Remove NAHA, NAHATOT and aha_softcs and related code. It was unused 2001-02-04 16:45:39 +00:00
ahb Add the use of M_ZERO to some malloc calls. 2000-10-29 15:47:16 +00:00
aic Use PCCARD_CIS_xxx #defines for the table of oem ids. These usually 2001-01-21 08:15:37 +00:00
aic7xxx aic7xxx.c: 2001-02-10 18:04:27 +00:00
amd Remove unneeded #include <machine/clock.h> 2000-10-15 14:19:01 +00:00
amr Probe generic i960 devices for the old AMI signature as well as the current 2000-12-22 22:23:56 +00:00
an Change and clean the mutex lock interface. 2001-02-09 06:11:45 +00:00
ar Update include files to reflect the new location of the ar device. 2001-01-30 10:01:15 +00:00
asr Mechanical change to use <sys/queue.h> macro API instead of 2001-02-04 13:13:25 +00:00
ata Fix a memory leak. 2001-02-08 21:59:27 +00:00
atkbdc Free the kbd pointer when it isn't NULL, as opposed to when it is. 2001-01-22 22:54:02 +00:00
awi Convert if_multiaddrs from LIST to TAILQ so that it can be traversed 2001-02-06 10:12:15 +00:00
bktr Finish deprecating <sys/select.h> in favor of <sys/selinfo.h> in kernel code. 2001-01-20 02:24:07 +00:00
buslogic Classify all EISA cards with major firmware revions '2' as 742As. 2000-11-13 03:44:20 +00:00
cardbus Fix memory leaks with dev_get_children(). 2001-02-08 21:47:45 +00:00
ccd Fix a braino in ccd's clone routine. 2001-01-29 06:18:14 +00:00
cs Break the isa attachment of the Crystal Semiconductor 89x0 into two 2001-01-21 04:56:12 +00:00
cy RIP <machine/lock.h>. 2001-02-11 10:44:09 +00:00
dc Change and clean the mutex lock interface. 2001-02-09 06:11:45 +00:00
de Convert if_multiaddrs from LIST to TAILQ so that it can be traversed 2001-02-06 10:12:15 +00:00
dec
dgb Add curly braces ({}) around each struct speedtab to quiet warnings. 2001-01-23 22:00:05 +00:00
dpt Fix typo: compatability -> compatibility. 2001-02-06 12:05:58 +00:00
ed Whoops... forgotten a few pieces in previous patch: 2001-02-08 22:54:57 +00:00
eisa Unbreak EISA. The PCI-EISA bridge bus is named eisab', not isab'. 2001-02-09 16:33:53 +00:00
en Lock down the network interface queues. The queue mutex must be obtained 2000-11-25 07:35:38 +00:00
ep Use PCCARD_CIS_xxx #defines for the table of oem ids. These usually 2001-01-21 08:15:37 +00:00
ex Mechanical change to use <sys/queue.h> macro API instead of 2001-02-04 13:13:25 +00:00
fb Exterminate the use of PSEUDO_SET() with extreme prejudice. 2001-01-31 07:58:58 +00:00
fdc Convert more malloc+bzero to malloc+M_ZERO. 2000-12-08 21:51:06 +00:00
fe Convert if_multiaddrs from LIST to TAILQ so that it can be traversed 2001-02-06 10:12:15 +00:00
fxp Change and clean the mutex lock interface. 2001-02-09 06:11:45 +00:00
hea Fix typo: seperate -> separate. 2001-02-06 11:21:58 +00:00
hfa Minor tweaks to get these to stop breaking LINT. They still dont work 2001-01-17 01:08:50 +00:00
ic
ichsmb Change and clean the mutex lock interface. 2001-02-09 06:11:45 +00:00
ida Add a flag value to the board identifiers, and use this to enable the 2001-01-09 14:49:41 +00:00
ie Convert if_multiaddrs from LIST to TAILQ so that it can be traversed 2001-02-06 10:12:15 +00:00
iicbus Lock down the network interface queues. The queue mutex must be obtained 2000-11-25 07:35:38 +00:00
isp Eliminate ISP2100_FABRIC- we always allow for fabric now. Add an 2001-02-11 03:56:48 +00:00
ispfw update to latest and greatest f/w 2001-02-11 03:35:45 +00:00
joy
kbd Free the kbd pointer when it isn't NULL, as opposed to when it is. 2001-01-22 22:54:02 +00:00
lmc Fix typo: seperate -> separate. 2001-02-06 11:21:58 +00:00
lnc Convert if_multiaddrs from LIST to TAILQ so that it can be traversed 2001-02-06 10:12:15 +00:00
mc146818
mca - Remove an unused write_ivars function that didn't do anything anyway. 2001-01-19 09:29:34 +00:00
mcd Remove unneeded #include <machine/clock.h> 2000-10-15 14:19:01 +00:00
md Remove devstat entries in mddelete() 2001-01-28 20:55:55 +00:00
mii Add includes of sys/malloc.h so this actually compiles. 2001-02-09 00:16:41 +00:00
mlx Avoid hardcoding the 'rid' and 'type' of the MEM/IOPORT resource. 2000-11-28 06:17:32 +00:00
mly Further use of M_ZERO. 2000-11-18 15:21:22 +00:00
mse Finish deprecating <sys/select.h> in favor of <sys/selinfo.h> in kernel code. 2001-01-20 02:24:07 +00:00
musycc Use correct index when counting short errors. 2001-02-07 08:44:42 +00:00
ncv The ncv_card_intr function is only used in older versions of FreeBSD, so 2001-01-23 22:06:10 +00:00
nsp Move nsp_card_intr()'s prototype and definition inside the appropriate 2001-01-23 22:09:04 +00:00
null Convert more malloc+bzero to malloc+M_ZERO. 2000-12-08 21:51:06 +00:00
ofw OpenFirmware/PowerPC loader, part 2. 2000-11-10 06:39:58 +00:00
pccard Another round of the <sys/queue.h> FOREACH transmogriffer. 2001-02-04 16:08:18 +00:00
pccbb Change and clean the mutex lock interface. 2001-02-09 06:11:45 +00:00
pcf Remove unneeded #include <machine/clock.h> 2000-10-15 14:19:01 +00:00
pci Fix typo: wierd -> weird. 2001-02-06 09:25:10 +00:00
pcic o Now that I've had time to test the new interface, reintegrate it back in. 2001-01-07 16:31:09 +00:00
pdq Convert if_multiaddrs from LIST to TAILQ so that it can be traversed 2001-02-06 10:12:15 +00:00
ppbus Discard extra status information if -1. This has been breaking the 2001-01-25 13:07:55 +00:00
ppc Consider that the chipset may be in ECP mode (from BIOS settings) 2001-01-25 10:51:41 +00:00
random Make a big improvement to entropy-harvesting speed by not having any 2001-02-11 16:21:35 +00:00
ray Convert if_multiaddrs from LIST to TAILQ so that it can be traversed 2001-02-06 10:12:15 +00:00
rc Catch up to the new swi API. 2001-02-09 18:35:53 +00:00
rp Convert more malloc+bzero to malloc+M_ZERO. 2000-12-08 21:51:06 +00:00
scd Remove unneeded #include <machine/clock.h> 2000-10-15 14:19:01 +00:00
sf Change and clean the mutex lock interface. 2001-02-09 06:11:45 +00:00
si Convert more malloc+bzero to malloc+M_ZERO. 2000-12-08 21:51:06 +00:00
sio RIP <machine/lock.h>. 2001-02-11 10:44:09 +00:00
sk Change and clean the mutex lock interface. 2001-02-09 06:11:45 +00:00
smbus Remove unneeded #include <machine/clock.h> 2000-10-15 14:19:01 +00:00
sn Convert if_multiaddrs from LIST to TAILQ so that it can be traversed 2001-02-06 10:12:15 +00:00
snc Convert if_multiaddrs from LIST to TAILQ so that it can be traversed 2001-02-06 10:12:15 +00:00
snp Remove unused #include "snp.h" 2001-01-29 10:06:22 +00:00
sound back out rev 1.49, looks like i committed it from the wrong tree. 2001-02-07 20:45:40 +00:00
speaker Staticize some malloc M_ instances. 2000-12-08 20:09:00 +00:00
sr Newbusify the sr device and move it to its new location. 2001-01-30 10:02:10 +00:00
stg - Move stg_card_intr()'s prototype and definition inside appropriate 2001-01-23 22:18:07 +00:00
streams - Add necessary proc locking. 2001-01-23 21:06:30 +00:00
sym Fix: 2001-02-11 15:38:06 +00:00
syscons Added necessary include for pc98. 2001-01-25 09:56:04 +00:00
tdfx Zap silly #if NPCI > 0 and the hoops that we jump through for the module 2001-01-29 11:38:39 +00:00
ti Change and clean the mutex lock interface. 2001-02-09 06:11:45 +00:00
twe Remove a prototype for an unused and undefined debugging function. 2001-01-23 22:21:14 +00:00
tx Add support for SMC9432FTX card, possibly othe fiber optic SMC9432 family 2001-02-07 20:11:02 +00:00
usb Change and clean the mutex lock interface. 2001-02-09 06:11:45 +00:00
vinum Change and clean the mutex lock interface. 2001-02-09 06:11:45 +00:00
vn Back out proc locking to protect p_ucred for obtaining additional 2001-01-27 00:01:31 +00:00
vr Change and clean the mutex lock interface. 2001-02-09 06:11:45 +00:00
vx When I converted this driver, I neglected to deal with packet alignment. 2000-12-07 23:30:51 +00:00
wds Weaken a bogus dependency on <sys/proc.h> in <sys/buf.h> by #ifdef'ing 2000-10-29 14:54:55 +00:00
wi Change and clean the mutex lock interface. 2001-02-09 06:11:45 +00:00
wl Convert if_multiaddrs from LIST to TAILQ so that it can be traversed 2001-02-06 10:12:15 +00:00
xe Convert if_multiaddrs from LIST to TAILQ so that it can be traversed 2001-02-06 10:12:15 +00:00