freebsd-dev/sys/i386/acpica
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
..
acpi_machdep.c Adapt vfs kqfilter to the shared vnode lock used by zfs write vop. Use 2009-06-10 20:59:32 +00:00
acpi_wakecode.S Minor tweaks to the resume code. Previous commit reverted alignment back 2006-06-10 08:20:03 +00:00
acpi_wakeup.c Import ACPICA 20090521. 2009-06-05 18:44:36 +00:00
genwakecode.sh Only export defined symbols. Note that I couldn't find any difference 2004-12-12 06:59:14 +00:00
madt.c Import ACPICA 20090521. 2009-06-05 18:44:36 +00:00
Makefile Add missing acpi_wakecode.o: assym.s dependency, so that if assym.s 2006-10-19 05:55:09 +00:00
OsdEnvironment.c Import ACPICA 20090521. 2009-06-05 18:44:36 +00:00