1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-25 11:37:56 +00:00
freebsd/sys
Tor Egge ff91d7800f Revert change in revision 1.53 and add a small comment to protect
the revived code.

vm pages newly allocated are marked busy (PG_BUSY), thus calling
vm_page_delete before the pages has been freed or unbusied will
cause a deadlock since vm_page_object_page_remove will wait for the
busy flag to be cleared.  This can be triggered by calling malloc
with size > PAGE_SIZE and the M_NOWAIT flag on systems low on
physical free memory.

A kernel module that reproduces the problem, written by Logan Gabriel
<logan@mail.2cactus.com>, can be found in the freebsd-hackers mail
archive (12 Apr 2001).  The problem was recently noticed again by
Archie Cobbs <archie@dellroad.org>.

Reviewed by:	dillon
2002-03-09 16:24:27 +00:00
..
alpha Add needed includes of machine/smp.h, remove nested include in sys/smp.h 2002-03-07 04:43:51 +00:00
amd64 #include <machine/smp.h> in the SMP case. 2002-03-08 14:31:12 +00:00
arm We need machine/{signal,ucontext}.h to build a cross GCC compiler. 2001-12-09 19:39:49 +00:00
boot Change every occurrence of "bootblock" into "boot1" after 2002-03-05 16:39:36 +00:00
cam Simple p_ucred -> td_ucred changes to start using the per-thread ucred 2002-02-27 18:32:23 +00:00
coda Simple p_ucred -> td_ucred changes to start using the per-thread ucred 2002-02-27 18:32:23 +00:00
compat Simple p_ucred -> td_ucred changes to start using the per-thread ucred 2002-02-27 18:32:23 +00:00
conf Enable DEVICE_POLLING in LINT now that it is safe to compile it there. 2002-03-09 08:04:58 +00:00
contrib Change two occurrences of HTONS() to use htons(). 2002-02-28 09:56:31 +00:00
crypto - Speedup 3DES by using assembly code for i386. 2002-03-05 09:19:02 +00:00
ddb ^U kills an entire input line in most applications, 2002-02-12 23:38:40 +00:00
dev Even more Highpoint RAID support. 2002-03-08 21:36:49 +00:00
fs If in strategy we find that we have no devsw on the device anymore we 2002-03-05 13:25:57 +00:00
geom Simple p_ucred -> td_ucred changes to start using the per-thread ucred 2002-02-27 18:32:23 +00:00
gnu Deverbosified previous 2 commits (removed the rotted list of reasons why 2002-03-02 11:14:13 +00:00
i4b remove BSD/OS specific ppp-interface file since the FreeBSD-BSD/OS merger 2002-03-09 13:18:24 +00:00
i386 after joerg's recent merge of i4b's sppp with the main sppp, remove 2002-03-09 13:31:56 +00:00
ia64 Include machine/smp.h. 2002-03-07 04:48:17 +00:00
isa revert last commit temporarily due to whining on the lists. 2002-02-26 20:33:41 +00:00
isofs/cd9660 Simple p_ucred -> td_ucred changes to start using the per-thread ucred 2002-02-27 18:32:23 +00:00
kern Make the DEVICE_POLLING code compile with -Werror and in LINT 2002-03-09 08:02:52 +00:00
libkern DBA update: used the wrong of several NAI DBAs. 2002-03-07 17:52:03 +00:00
modules Add generalized power profile code. 2002-03-04 18:46:13 +00:00
net Use revoke_and_destroy_dev() instead of destroy_dev() when removing /dev/net 2002-03-05 17:50:35 +00:00
netatalk Make `options NETATALK' compile after the -fno-common changes. 2002-01-16 11:26:50 +00:00
netatm Unbreak fore adapters from POV of warnings. 2002-02-27 21:12:44 +00:00
netgraph Official timeout routines for netgraph nodes that know how to 2002-03-05 20:26:20 +00:00
netinet - Set inc_isipv6 in tcp6_usr_connect(). 2002-02-28 17:11:10 +00:00
netinet6 - use des_ecb3_encrypt(). 2002-03-05 21:12:41 +00:00
netipx Pre-KSE/M3 commit. 2002-02-07 20:58:47 +00:00
netkey missing splx 2002-03-01 13:13:17 +00:00
netnatm Fix warnings 2002-02-28 03:02:20 +00:00
netncp Update to C99, s/__FUNCTION__/__func__/, 2001-12-10 08:09:49 +00:00
netns Initialise the intrq_present fields at runtime, not link time. This allows 2002-01-08 10:34:03 +00:00
netsmb Simple p_ucred -> td_ucred changes to start using the per-thread ucred 2002-02-27 18:32:23 +00:00
nfs When the old nfsm_adv() macro was moved to nfsm_adv_xx(), a '>=' 2001-12-31 06:56:31 +00:00
nfsclient vhold() our vnode while checking the remote side. 2002-03-08 13:43:43 +00:00
nfsserver Simple p_ucred -> td_ucred changes to start using the per-thread ucred 2002-02-27 18:32:23 +00:00
pc98 - The pc98_ttspeedtab() function returns an error status instead of a divisor, 2002-03-08 12:12:46 +00:00
pccard Get the generic name right 2002-03-03 01:04:39 +00:00
pci Fix warning; amdsmb_abort() is not used. 2002-02-26 01:04:58 +00:00
posix4 In a threaded world, differnt priorirites become properties of 2002-02-11 20:37:54 +00:00
powerpc Install the DSI and ISI trap handlers and their appropriate locations. 2002-03-07 12:22:44 +00:00
rpc
security/lomac Simple p_ucred -> td_ucred changes to start using the per-thread ucred 2002-02-27 18:32:23 +00:00
sparc64 Implement delivery of tlb shootdown ipis. This is currently more fine grained 2002-03-07 06:01:40 +00:00
svr4
sys Move the mount of the root filesystem to happen in the init process before 2002-03-08 10:33:11 +00:00
tools Return vnode_if back to its AWK roots. 2002-03-01 01:20:23 +00:00
ufs Update DBA for NAI. We have several. We used the wrong one. :-) 2002-03-07 17:49:06 +00:00
vm Revert change in revision 1.53 and add a small comment to protect 2002-03-09 16:24:27 +00:00
Makefile