summaryrefslogtreecommitdiffstats
path: root/lib/libmilter
diff options
context:
space:
mode:
authorattilio <attilio@FreeBSD.org>2013-03-09 02:32:23 +0000
committerattilio <attilio@FreeBSD.org>2013-03-09 02:32:23 +0000
commit72f7f3e528d2e900546a7ccbe16525b12d64dd44 (patch)
tree382de98b1c7b142a92ed9c04ab1ea90d5a1c3a06 /lib/libmilter
parent754f3790b85afd6cd15e69b91ee97848364f75f5 (diff)
parent49c5854731cc608c08a92b35c6e2be2825c64a6c (diff)
downloadFreeBSD-src-72f7f3e528d2e900546a7ccbe16525b12d64dd44.zip
FreeBSD-src-72f7f3e528d2e900546a7ccbe16525b12d64dd44.tar.gz
Switch the vm_object mutex to be a rwlock. This will enable in the
future further optimizations where the vm_object lock will be held in read mode most of the time the page cache resident pool of pages are accessed for reading purposes. The change is mostly mechanical but few notes are reported: * The KPI changes as follow: - VM_OBJECT_LOCK() -> VM_OBJECT_WLOCK() - VM_OBJECT_TRYLOCK() -> VM_OBJECT_TRYWLOCK() - VM_OBJECT_UNLOCK() -> VM_OBJECT_WUNLOCK() - VM_OBJECT_LOCK_ASSERT(MA_OWNED) -> VM_OBJECT_ASSERT_WLOCKED() (in order to avoid visibility of implementation details) - The read-mode operations are added: VM_OBJECT_RLOCK(), VM_OBJECT_TRYRLOCK(), VM_OBJECT_RUNLOCK(), VM_OBJECT_ASSERT_RLOCKED(), VM_OBJECT_ASSERT_LOCKED() * The vm/vm_pager.h namespace pollution avoidance (forcing requiring sys/mutex.h in consumers directly to cater its inlining functions using VM_OBJECT_LOCK()) imposes that all the vm/vm_pager.h consumers now must include also sys/rwlock.h. * zfs requires a quite convoluted fix to include FreeBSD rwlocks into the compat layer because the name clash between FreeBSD and solaris versions must be avoided. At this purpose zfs redefines the vm_object locking functions directly, isolating the FreeBSD components in specific compat stubs. The KPI results heavilly broken by this commit. Thirdy part ports must be updated accordingly (I can think off-hand of VirtualBox, for example). Sponsored by: EMC / Isilon storage division Reviewed by: jeff Reviewed by: pjd (ZFS specific review) Discussed with: alc Tested by: pho
Diffstat (limited to 'lib/libmilter')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud