freebsd-dev/sys
Jeff Roberson a553d4b8eb Rework most of the bucket allocation and free code so that per cpu locks are
never held across blocking operations.  Also, fix two other lock order
reversals that were exposed by jhb's witness change.

The free path previously had a bug that would cause it to skip the free bucket
list in some cases and go straight to allocating a new bucket.  This has been
fixed as well.

These changes made the bucket handling code much cleaner and removed quite a
few lock operations.  This should be marginally faster now.

It is now possible to call malloc w/o Giant and avoid any witness warnings.
This still isn't entirely safe though because malloc_type statistics are not
protected by any lock.
2002-04-08 02:42:55 +00:00
..
alpha GC the "dumplo" variable, which is no longer used. 2002-04-07 21:01:37 +00:00
amd64 GC the "dumplo" variable, which is no longer used. 2002-04-07 21:01:37 +00:00
arm Guard against redefining __gnuc_va_list. 2002-03-24 11:25:46 +00:00
boot We must not let install(1) strip loader.efi when installing it, or the 2002-04-07 04:27:50 +00:00
cam Fix 3 of the four problems with my last indentation fix. ("fixing" the 2002-04-01 05:41:33 +00:00
coda Moved signal handling and rescheduling from userret() to ast() so that 2002-04-04 17:49:48 +00:00
compat Moved signal handling and rescheduling from userret() to ast() so that 2002-04-04 17:49:48 +00:00
conf Now that we can thorougly self compile the kernel, stop hard coding the 2002-04-07 04:34:21 +00:00
contrib We don't need ip_ipsec_pxy.c in userland. 2002-03-26 13:42:09 +00:00
crypto Remove __P. 2002-03-20 05:14:42 +00:00
ddb Fixed some style bugs in the removal of __P(()). Continuation lines 2002-03-23 11:53:03 +00:00
dev Sony ID is 0x0002, not 0x0001. Noticed by Ichiro Fukuhara-san when I 2002-04-08 00:52:15 +00:00
fs Fixed assorted bugs in setting of timestamps in devfs_setattr(). 2002-04-05 15:16:08 +00:00
geom Change callers of mtx_init() to pass in an appropriate lock type name. In 2002-04-04 21:03:38 +00:00
gnu Change callers of mtx_init() to pass in an appropriate lock type name. In 2002-04-04 21:03:38 +00:00
i4b Change callers of mtx_init() to pass in an appropriate lock type name. In 2002-04-04 21:03:38 +00:00
i386 GC the "dumplo" variable, which is no longer used. 2002-04-07 21:01:37 +00:00
ia64 ia64 depends on ACPICA on actual hardware. It might be worth having a 2002-04-07 04:36:02 +00:00
isa When reading a UFS-style label from a floppy, don't attempt to use a 2002-04-02 18:29:43 +00:00
isofs/cd9660 Change callers of mtx_init() to pass in an appropriate lock type name. In 2002-04-04 21:03:38 +00:00
kern o Change kernel_vmount() interface to be more convenient : pass two 2002-04-07 13:22:47 +00:00
libkern Remove 'register' keyword. 2002-03-21 18:49:23 +00:00
modules First cut at breaking out the bus attachment from the bus independent 2002-04-02 02:38:35 +00:00
net Change callers of mtx_init() to pass in an appropriate lock type name. In 2002-04-04 21:03:38 +00:00
netatalk Change callers of mtx_init() to pass in an appropriate lock type name. In 2002-04-04 21:03:38 +00:00
netatm Change callers of mtx_init() to pass in an appropriate lock type name. In 2002-04-04 21:03:38 +00:00
netgraph Change callers of mtx_init() to pass in an appropriate lock type name. In 2002-04-04 21:03:38 +00:00
netinet Retire this copy; it now lives in sys/net/fddi.h. 2002-04-05 19:24:38 +00:00
netinet6 Use <net/fddi.h> rather than <netinet/if_fddi.h>. 2002-04-06 03:21:46 +00:00
netipx Change callers of mtx_init() to pass in an appropriate lock type name. In 2002-04-04 21:03:38 +00:00
netkey Remove __P. 2002-03-20 02:39:27 +00:00
netnatm Change callers of mtx_init() to pass in an appropriate lock type name. In 2002-04-04 21:03:38 +00:00
netncp Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
netns Change callers of mtx_init() to pass in an appropriate lock type name. In 2002-04-04 21:03:38 +00:00
netsmb Change callers of mtx_init() to pass in an appropriate lock type name. In 2002-04-04 21:03:38 +00:00
nfs Remove unused include. 2002-03-20 10:12:07 +00:00
nfsclient Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
nfsserver Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
pc98 GC the "dumplo" variable, which is no longer used. 2002-04-07 21:01:37 +00:00
pccard Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
pci Teach the rlphy driver how to do parallel link detection. If the link partner 2002-04-07 20:55:50 +00:00
posix4 Remove __P. 2002-03-19 22:20:14 +00:00
powerpc GC the "dumplo" variable, which is no longer used. 2002-04-07 21:01:37 +00:00
rpc
security/lomac Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
sparc64 GC the "dumplo" variable, which is no longer used. 2002-04-07 21:01:37 +00:00
svr4
sys Constify. 2002-04-07 09:58:28 +00:00
tools constify 2002-04-01 19:22:04 +00:00
ufs Change callers of mtx_init() to pass in an appropriate lock type name. In 2002-04-04 21:03:38 +00:00
vm Rework most of the bucket allocation and free code so that per cpu locks are 2002-04-08 02:42:55 +00:00
Makefile