cvs commit: src/sys/cam/scsi scsi_target.c src/sys/kern
init_main.c kern_event.c kern_fork.c sys_pipe.c tty.c
uipc_socket.c uipc_socket2.c vfs_aio.c vfs_subr.c src/sys/net
bpf.c if.c src/sys/sys event.h mount.h vnode.h
Suleiman Souhlal
ssouhlal at FreeBSD.org
Fri Jul 1 16:28:33 GMT 2005
ssouhlal 2005-07-01 16:28:32 UTC
FreeBSD src repository
Modified files:
sys/cam/scsi scsi_target.c
sys/kern init_main.c kern_event.c kern_fork.c
sys_pipe.c tty.c uipc_socket.c
uipc_socket2.c vfs_aio.c vfs_subr.c
sys/net bpf.c if.c
sys/sys event.h mount.h vnode.h
Log:
Fix the recent panics/LORs/hangs created by my kqueue commit by:
- Introducing the possibility of using locks different than mutexes
for the knlist locking. In order to do this, we add three arguments to
knlist_init() to specify the functions to use to lock, unlock and
check if the lock is owned. If these arguments are NULL, we assume
mtx_lock, mtx_unlock and mtx_owned, respectively.
- Using the vnode lock for the knlist locking, when doing kqueue operations
on a vnode. This way, we don't have to lock the vnode while holding a
mutex, in filt_vfsread.
Reviewed by: jmg
Approved by: re (scottl), scottl (mentor override)
Pointyhat to: ssouhlal
Will be happy: everyone
Revision Changes Path
1.67 +1 -1 src/sys/cam/scsi/scsi_target.c
1.256 +1 -1 src/sys/kern/init_main.c
1.93 +83 -28 src/sys/kern/kern_event.c
1.252 +1 -1 src/sys/kern/kern_fork.c
1.184 +4 -2 src/sys/kern/sys_pipe.c
1.250 +2 -2 src/sys/kern/tty.c
1.242 +4 -2 src/sys/kern/uipc_socket.c
1.147 +4 -2 src/sys/kern/uipc_socket2.c
1.195 +1 -1 src/sys/kern/vfs_aio.c
1.634 +49 -23 src/sys/kern/vfs_subr.c
1.153 +1 -1 src/sys/net/bpf.c
1.234 +2 -2 src/sys/net/if.c
1.32 +7 -2 src/sys/sys/event.h
1.197 +9 -2 src/sys/sys/mount.h
1.303 +3 -3 src/sys/sys/vnode.h
More information about the cvs-src
mailing list