freebsd-nq/sys
John Baldwin 225f9723dc Lock the consumers of the iicbus(4) infrastructure:
- ad7418(4) uses an sx lock instead of a mtx since the iicbus(4) stuff it
  calls can sleep (request_bus()).  Also, I expanded the locking slightly
  to serialize writes to data stored in the softc.
- Similarly, the icee(4) driver now uses an sx lock instead of a mutex.
  I also removed the pointless OPENED flag and flags field from the softc.
- The locking for the ic(4) driver was a bit trickier:
  - Add a mutex to the softc to protect softc data.
  - The driver uses malloc'd buffers that are the size of the interface
    MTU to send and receive packets.  Previously, these were allocated
    every time the interface was brought up and anytime the MTU was
    changed, with various races that could result in memory leaks.  I
    changed this to be a bit simpler and more like other NIC drivers in
    that we allocate buffers during attach for the default MTU size and
    only reallocate them on MTU changes.  The reallocation procedure
    goes to some lengths with various flags to not replace either the
    the receive or transmit buffers while the driver is busy receiving
    or transmitting a packet.
  - Store the device_t of the driver in the softc instead of detours into
    new-bus using if_dunit from the ifnet and an even more bizarre detour
    to get the softc instead of using if_softc.
  - Drop the driver mutex when invoking netisr_dispatch() to pass the
    packet up to IP.
  - Use if_printf().
2008-08-04 21:14:24 +00:00
..
amd64 Make pmap_kenter_attr() static. 2008-08-04 08:04:09 +00:00
arm Add locking to the various iicbus(4) bridge drivers: 2008-08-04 20:46:15 +00:00
boot Add coretemp(4) and k8temp(4). 2008-08-04 16:13:42 +00:00
bsm Further synchronization of copyrights, licenses, white space, etc from 2008-07-31 09:54:35 +00:00
cam Fix whitespace. 2008-08-01 15:13:56 +00:00
cddl We want to use LBOLT instead of lbolt on FreeBSD. 2008-07-21 14:35:48 +00:00
compat Add TIOCPKT and TIOCSPTLCK to the Linuxolator. 2008-07-23 17:47:44 +00:00
conf We need -I$S to compile the elf trampoline. 2008-08-04 14:38:38 +00:00
contrib Merge state reuse for tcp. 2008-08-04 14:42:09 +00:00
crypto Convert lock that protects sessions list from a mutex to a rwlock. 2008-07-20 07:34:00 +00:00
ddb Fix software single-stepping: we need to check if the instruction is a 2008-08-02 12:49:43 +00:00
dev Lock the consumers of the iicbus(4) infrastructure: 2008-08-04 21:14:24 +00:00
fs Introduce a new lock, hostname_mtx, and use it to synchronize access 2008-07-05 13:10:10 +00:00
gdb Commit SYSINIT() ;-adding patch missed in previous pass. 2008-03-16 13:02:04 +00:00
geom Trivial commit to attempt to diagnose a svn problem. Add 2008-07-22 18:05:50 +00:00
gnu - Disallow XFS mounting in write mode. The write support never worked really 2008-07-21 23:01:09 +00:00
i386 Make pmap_kenter_attr() static. 2008-08-04 08:04:09 +00:00
ia64 Update bus_dmamem_alloc()'s first call to malloc() such that M_WAITOK is 2008-07-15 03:34:49 +00:00
isa atrtc.c is a repocopy of the RTC device driver from i386/isa/clock.c 2008-04-14 07:57:15 +00:00
kern Close two different races with concurrent opens of pty master devices 2008-08-04 19:51:23 +00:00
libkern Return arc4_i = arc4_j = 0; line from previous backing out since 2008-07-26 16:42:45 +00:00
mips Document a few sysctls. 2008-08-03 14:11:06 +00:00
modules Disconnect drivers that haven't been ported to MPSAFE TTY yet. 2008-08-03 10:32:17 +00:00
net Make "1000baseT" the description and "1000baseTX" the alias for 2008-08-01 22:13:39 +00:00
net80211 add missing lock for htinfo update 2008-08-02 18:04:09 +00:00
netatalk Remove NETISR_MPSAFE, which allows specific netisr handlers to be directly 2008-07-04 00:21:38 +00:00
netgraph Implement ratelimiting for debug messages. For now, allow at most 2008-08-01 00:36:43 +00:00
netinet The IPFW code accepts the use of the tablearg keyword along with the skipto 2008-08-01 22:21:03 +00:00
netinet6 Adopt the slightly weaker consistency locking approach used in IPv4 raw 2008-07-30 09:26:27 +00:00
netipsec Fill in a few sysctl descriptions. 2008-07-26 00:55:35 +00:00
netipx Begin the sysctl descriptions with a capital letter. 2008-07-25 23:54:07 +00:00
netnatm Remove NETISR_MPSAFE, which allows specific netisr handlers to be directly 2008-07-04 00:21:38 +00:00
netncp lockmgrs need to be released before to be destroyed and draining doesn't 2008-03-30 18:16:33 +00:00
netsmb Really, smb_iod_main() is not totally MPSAFE, so just acquire and drop 2008-03-27 01:23:59 +00:00
nfs Replaced the misleading uses of a historical artefact M_TRYWAIT with M_WAIT. 2008-03-25 09:39:02 +00:00
nfs4client Move the NFS/RPC code away from lbolt. 2008-07-22 21:27:22 +00:00
nfsclient Try again not to use a userspace pointer in the kernel when trying to record 2008-07-24 14:02:03 +00:00
nfsserver Remove spls from NFS server setup call; expand receive socket buffer 2008-06-30 20:43:06 +00:00
nlm Introduce a new lock, hostname_mtx, and use it to synchronize access 2008-07-05 13:10:10 +00:00
opencrypto Make ftruncate a 'struct file' operation rather than a vnode operation. 2008-01-07 20:05:19 +00:00
pc98 Disconnect drivers that haven't been ported to MPSAFE TTY yet. 2008-08-03 10:32:17 +00:00
pccard
pci Add locking to the various iicbus(4) bridge drivers: 2008-08-04 20:46:15 +00:00
powerpc Disconnect drivers that haven't been ported to MPSAFE TTY yet. 2008-08-03 10:32:17 +00:00
rpc Re-work the code slightly to avoid a possible livelock. 2008-07-23 09:18:08 +00:00
security Minor style tweaks. 2008-08-02 22:30:51 +00:00
sparc64 Disconnect drivers that haven't been ported to MPSAFE TTY yet. 2008-08-03 10:32:17 +00:00
sun4v Disconnect drivers that haven't been ported to MPSAFE TTY yet. 2008-08-03 10:32:17 +00:00
sys add callout_schedule; besides being useful it also improves 2008-08-02 17:42:38 +00:00
tools Introduce a standalone shell script for embedding MFS image. 2008-02-05 10:46:30 +00:00
ufs Whitespace tweak. 2008-07-30 21:07:56 +00:00
vm Fill in a few sysctl descriptions. 2008-08-03 14:26:15 +00:00
xdr Add the new kernel-mode NFS Lock Manager. To use it instead of the 2008-03-26 15:23:12 +00:00
Makefile o Add cddl, nlm and xdr to CSCOPEDIRS. 2008-07-20 09:16:00 +00:00