freebsd-dev/sys
Bruce M Simpson 7f8851d0b9 Reintroduce and clean up locking in xl(4).
- Eliminate the use of a recursive mutex.
 - Mark the driver as INTR_MPSAFE.
 - Split the default media choice code out into xl_choose_media() to
   avoid making poor assumptions about the state of the lock during attach.
 - The miibus upcall/downcall paths may still be racy.
   Change to commented-out locking assertions there for now.
 - Tested with nfsclient, routed, ssh, ntp, dhclient and quagga bgpd.
 - This needs SMP test coverage. I do not have such resources.

Tested on:	UP, !debug.mpsafenet && debug.mpsafenet
Hardware:	3C905B-TX (0x905510b7)
2004-07-05 02:34:35 +00:00
..
alpha Implement preemption of kernel threads natively in the scheduler rather 2004-07-02 20:21:44 +00:00
amd64 Implement preemption of kernel threads natively in the scheduler rather 2004-07-02 20:21:44 +00:00
arm ithread_schedule() now only takes one argument. 2004-07-02 22:30:42 +00:00
boot Consistently use __inline instead of __inline__ as the former is an empty macro 2004-07-04 16:11:03 +00:00
cam Revert rev 1.140, it was a bit pre-mature. 2004-06-21 19:01:55 +00:00
coda When we traverse the vnodes on a mountpoint we need to look out for 2004-07-04 08:52:35 +00:00
compat Implement SNDCTL_DSP_SETDUPLEX. This may fix sound apps which want to 2004-07-02 15:31:44 +00:00
conf By popular request, add a workaround that allows large (>128GB or so) 2004-07-03 13:22:38 +00:00
contrib Local change: Allow access to the field if it is within the region 2004-07-02 08:38:55 +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 Mark our interrupt shareable and don't insist on DMA. This gets us closer 2004-07-04 23:16:04 +00:00
fs When we traverse the vnodes on a mountpoint we need to look out for 2004-07-04 08:52:35 +00:00
geom We only need to check for overlaps if we increasing access counts. 2004-07-04 13:44:48 +00:00
gnu When we traverse the vnodes on a mountpoint we need to look out for 2004-07-04 08:52:35 +00:00
i4b meta_p is a void *, so a variable that's of type void * can't be 2004-07-04 16:10:36 +00:00
i386 Consistently use __inline instead of __inline__ as the former is an empty macro 2004-07-04 16:11:03 +00:00
ia64 Implement preemption of kernel threads natively in the scheduler rather 2004-07-02 20:21:44 +00:00
isa Do the dreaded s/dev_t/struct cdev */ 2004-06-16 09:47:26 +00:00
isofs/cd9660 Remove "register" keyword and trailing white space. 2004-07-03 16:56:45 +00:00
kern Rework syncer termination code: 2004-07-05 01:07:33 +00:00
libkern Import libkern arm specific bits. 2004-05-14 12:28:31 +00:00
modules By popular request, add a workaround that allows large (>128GB or so) 2004-07-03 13:22:38 +00:00
net Workaround a locking problem in vlan(4). vlan_setmulti() may be called 2004-07-04 18:32:54 +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 Consistently use __inline instead of __inline__ as the former is an empty macro 2004-07-04 16:11:03 +00:00
netinet Add LibAliasOutTry() which checks a packet for a hit in the tables, but 2004-07-04 12:53:07 +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 Add required includes for post-sorwakeup() change to fix FAST_IPSEC 2004-06-23 01:58:22 +00:00
netipx Acquire the receive socket buffer lock when modifying out-of-band 2004-06-24 04:29:53 +00:00
netkey Merge next step in socket buffer locking: 2004-06-21 00:20:43 +00:00
netnatm Constify send and receive space constants in natm. 2004-06-24 03:11:29 +00:00
netncp Do the dreaded s/dev_t/struct cdev */ 2004-06-16 09:47:26 +00:00
netsmb Merge additional socket buffer locking from rwatson_netperf: 2004-06-17 22:48:11 +00:00
nfs Remove advertising clause from University of California Regent's 2004-04-07 05:00:01 +00:00
nfs4client When we traverse the vnodes on a mountpoint we need to look out for 2004-07-04 08:52:35 +00:00
nfsclient When we traverse the vnodes on a mountpoint we need to look out for 2004-07-04 08:52:35 +00:00
nfsserver Change M_WAITOK argument to sodupsockaddr() to M_NOWAIT. When the call 2004-07-03 19:17:06 +00:00
opencrypto Do the dreaded s/dev_t/struct cdev */ 2004-06-16 09:47:26 +00:00
pc98 MFi386: revision 1.1163 2004-07-01 09:34:15 +00:00
pccard Do the dreaded s/dev_t/struct cdev */ 2004-06-16 09:47:26 +00:00
pci Reintroduce and clean up locking in xl(4). 2004-07-05 02:34:35 +00:00
posix4
powerpc Implement preemption of kernel threads natively in the scheduler rather 2004-07-02 20:21:44 +00:00
rpc Remove advertising clause from University of California Regent's 2004-04-07 05:00:01 +00:00
security Introduce a temporary mutex, mac_ifnet_mtx, to lock MAC labels on 2004-06-24 03:34:46 +00:00
sparc64 These don't need RMAN_RESOURCE_VISIBLE now that rman is visible 2004-07-03 20:56:16 +00:00
sys Pass the operation in with the fsidctl. 2004-07-04 20:21:58 +00:00
tools Complete quirk handling script by matching the in-kernel table format. 2004-06-30 04:40:20 +00:00
ufs When we traverse the vnodes on a mountpoint we need to look out for 2004-07-04 08:52:35 +00:00
vm Introduce debug.nosleepwithlocks sysctl, 0 by default. If set to 1 2004-07-04 16:07:44 +00:00
Makefile Try harder not to compile anything in sys/boot for arm. 2004-05-16 00:19:12 +00:00