freebsd-nq/sys
Brian Feldman 408a38478a Make contigmalloc() more reliable:
1. Remove a race whereby contigmalloc() would deadlock against the
   running processes in the system if they kept reinstantiating
   the memory on the active and inactive page queues that it was
   trying to flush out.  The process doing the contigmalloc() would
   sit in "swwrt" forever and the swap pager would be going at full
   force, but never get anywhere.  Instead of doing it until the
   queues are empty, launder for as many iterations as there are
   pages in the queue.
2. Do all laundering to swap synchronously; previously, the vnode
   laundering was synchronous and the swap laundering not.
3. Increase the number of launder-or-allocate passes to three, from
   two, while failing without bothering to do all the laundering on
   the third pass if allocation was not possible.  This effectively
   gives exactly two chances to launder enough contiguous memory,
   helpful with high memory churn where a lot of memory from one pass
   to the next (and during a single laundering loop) becomes dirtied
   again.

I can now reliably hot-plug hardware requiring a 256KB contigmalloc()
without having the kldload/cbb ithread sit around failing to make
progress, while running a busy X session.  Previously, it took killing
X to get contigmalloc() to get further (that is, quiescing the system),
and even then contigmalloc() returned failure.
2004-06-15 01:02:00 +00:00
..
alpha Remove an unused #include. 2004-06-12 06:03:27 +00:00
amd64 Introduce pmap locking to many of the pmap functions. There is more to 2004-06-14 01:17:50 +00:00
arm Remove filename+line number from panic messages. 2004-06-06 21:26:49 +00:00
boot Merge boot0 and boot0sio so they behave the same. 2004-06-11 09:45:18 +00:00
cam Reformat the comments for cam_hdr so that they can be read. 2004-06-07 19:12:44 +00:00
coda add missing #include <sys/module.h> 2004-05-30 20:27:19 +00:00
compat Add support for more linux ioctls. 2004-06-14 07:26:23 +00:00
conf Link ALTQ to the build and break with ABI for struct ifnet. Please recompile 2004-06-13 17:29:10 +00:00
contrib Remove some more leftover from the old pfaltq_module hack to allow for 2004-06-14 16:13:05 +00:00
crypto Use __FBSDID(). 2004-06-14 00:38:54 +00:00
ddb Fixed DDB_NOKLDSYM on amd64's: 2004-05-18 05:30:06 +00:00
dev Revert the removal of the initial_irq hack for now as this code is more 2004-06-14 18:54:14 +00:00
fs The socket field so_state is used to hold a variety of socket related 2004-06-14 18:16:22 +00:00
geom Don't free a VINUMDRIVE softc when it's orphaned or spoiled. All 2004-06-14 17:12:32 +00:00
gnu Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
i4b Link ALTQ to the build and break with ABI for struct ifnet. Please recompile 2004-06-13 17:29:10 +00:00
i386 Fix a couple of typos. 2004-06-14 18:37:23 +00:00
ia64 Neither pmap_enter() nor pmap_enter_quick() should create pv entries for 2004-06-11 20:11:41 +00:00
isa Remove atdevbase and replace it's remaining uses with direct references to 2004-06-10 20:31:00 +00:00
isofs/cd9660 Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
kern Change the return value of sema_timedwait() so it returns 0 on 2004-06-14 18:19:05 +00:00
libkern Import libkern arm specific bits. 2004-05-14 12:28:31 +00:00
modules Add a module directory for geom_vinum. 2004-06-12 21:18:40 +00:00
net Fix big-endian build. 2004-06-14 08:17:51 +00:00
net80211 Link ALTQ to the build and break with ABI for struct ifnet. Please recompile 2004-06-13 17:29:10 +00:00
netatalk Socket MAC labels so_label and so_peerlabel are now protected by 2004-06-13 02:50:07 +00:00
netatm The socket field so_state is used to hold a variety of socket related 2004-06-14 18:16:22 +00:00
netgraph The socket field so_state is used to hold a variety of socket related 2004-06-14 18:16:22 +00:00
netinet The socket field so_state is used to hold a variety of socket related 2004-06-14 18:16:22 +00:00
netinet6 Link ALTQ to the build and break with ABI for struct ifnet. Please recompile 2004-06-13 17:29:10 +00:00
netipsec use correct address for SADB_EXT_ADDRESS_DST in key_do_allocsa_policy 2004-05-03 05:15:53 +00:00
netipx The socket field so_state is used to hold a variety of socket related 2004-06-14 18:16:22 +00:00
netkey
netnatm Extend coverage of SOCK_LOCK(so) to include so_count, the socket 2004-06-12 20:47:32 +00:00
netncp add missing #include <sys/module.h> 2004-05-30 20:27:19 +00:00
netsmb The socket field so_state is used to hold a variety of socket related 2004-06-14 18:16:22 +00:00
nfs Remove advertising clause from University of California Regent's 2004-04-07 05:00:01 +00:00
nfs4client Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
nfsclient Make vm_page's PG_ZERO flag immutable between the time of the page's 2004-05-06 05:03:23 +00:00
nfsserver Giant wasn't dropped here if we have to return EBUSY. This is bad. 2004-05-31 20:21:06 +00:00
opencrypto add missing #include <sys/module.h> 2004-05-30 20:27:19 +00:00
pc98 Include vm/vm_param.h to pull in KERNBASE now. This should fix the 2004-06-13 20:17:44 +00:00
pccard Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
pci Use NG_FREE_MSG() instead of FREE(). 2004-06-13 17:15:05 +00:00
posix4 The sem_timedwait() and ksem_timedwait() functions both 2004-02-03 22:27:03 +00:00
powerpc Remove checks for curthread == NULL - it can't happen. 2004-06-03 10:22:47 +00:00
rpc Remove advertising clause from University of California Regent's 2004-04-07 05:00:01 +00:00
security Socket MAC labels so_label and so_peerlabel are now protected by 2004-06-13 02:50:07 +00:00
sparc64 Add esp to the sparc64 GENERIC 2004-06-10 05:24:34 +00:00
sys Remove unneeded '-' from comment header; this comment contains only 2004-06-14 22:03:14 +00:00
tools devlist2h.awk is too generic a name for what it does. It really 2004-05-26 00:19:39 +00:00
ufs Avoid assignments to cast expressions. 2004-06-08 13:08:19 +00:00
vm Make contigmalloc() more reliable: 2004-06-15 01:02:00 +00:00
Makefile Try harder not to compile anything in sys/boot for arm. 2004-05-16 00:19:12 +00:00