1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-19 10:53:58 +00:00
freebsd/sys/i386
Konstantin Belousov d8b0556c6d Adapt vfs kqfilter to the shared vnode lock used by zfs write vop. Use
vnode interlock to protect the knote fields [1]. The locking assumes
that shared vnode lock is held, thus we get exclusive access to knote
either by exclusive vnode lock protection, or by shared vnode lock +
vnode interlock.

Do not use kl_locked() method to assert either lock ownership or the
fact that curthread does not own the lock. For shared locks, ownership
is not recorded, e.g. VOP_ISLOCKED can return LK_SHARED for the shared
lock not owned by curthread, causing false positives in kqueue subsystem
assertions about knlist lock.

Remove kl_locked method from knlist lock vector, and add two separate
assertion methods kl_assert_locked and kl_assert_unlocked, that are
supposed to use proper asserts. Change knlist_init accordingly.

Add convenience function knlist_init_mtx to reduce number of arguments
for typical knlist initialization.

Submitted by:	jhb [1]
Noted by:	jhb [2]
Reviewed by:	jhb
Tested by:	rnoland
2009-06-10 20:59:32 +00:00
..
acpica Adapt vfs kqfilter to the shared vnode lock used by zfs write vop. Use 2009-06-10 20:59:32 +00:00
bios Some minor style changes: 2009-05-20 16:29:22 +00:00
compile
conf Add alc(4), a driver for Atheros AR8131/AR8132 PCIe ethernet 2009-06-10 02:07:58 +00:00
cpufreq Import ACPICA 20090521. 2009-06-05 18:44:36 +00:00
i386 Move C1E workaround into its own idle function. Previous workaround works 2009-06-09 04:17:36 +00:00
ibcs2 Move "options MAC" from opt_mac.h to opt_global.h, as it's now in GENERIC 2009-06-05 14:55:22 +00:00
include Decouple the i386 native and i386 Xen APIC definitions a little further. 2009-06-07 22:52:48 +00:00
isa When using i8254 as the only kernel timer source: 2009-06-09 07:26:52 +00:00
linux Implement accept4 syscall. 2009-06-01 20:48:39 +00:00
pci Add a read-only sysctl hw.pci.mcfg to mirror the tunable by the same name. 2009-05-18 21:47:32 +00:00
svr4 Change some movl's to mov's. Newer GAS no longer accept 'movl' instructions 2009-01-31 11:37:21 +00:00
xbox
xen Revert my change; reintroduce __gnu89_inline. 2009-06-08 18:23:43 +00:00
Makefile