opnsense-src/sys/ofed/include/linux
Attilio Rao 89f6b8632c 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
2013-03-09 02:32:23 +00:00
..
mlx4 - Implement wake-on-lan support in mlxen. 2011-03-26 00:54:01 +00:00
bitmap.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
bitops.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
cdev.h Use %s when calling make_dev with a string pointer. This makes 2012-11-09 21:41:07 +00:00
compat.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
compiler.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
completion.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
ctype.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
delay.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
device.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
dma-attrs.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
dma-mapping.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
dmapool.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
err.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
errno.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
ethtool.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
file.h Merge Capsicum overhaul: 2013-03-02 00:53:12 +00:00
fs.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
gfp.h After the PHYS_TO_VM_PAGE() function was de-inlined, the main reason 2012-08-05 14:11:42 +00:00
hardirq.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
idr.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
if_arp.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
if_ether.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
if_vlan.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
in.h Add OFED and the associated options and drivers to x86 LINT builds: 2012-04-12 14:01:06 +00:00
in6.h Add OFED and the associated options and drivers to x86 LINT builds: 2012-04-12 14:01:06 +00:00
inet.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
inetdevice.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
init.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
interrupt.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
io-mapping.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
io.h Use VM_MEMATTR_UNCACHEABLE instead of VM_MEMATTR_UNCACHED for UC mappings. 2012-03-27 14:24:29 +00:00
ioctl.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
jhash.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
jiffies.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
kdev_t.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
kernel.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
kobject.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
kref.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
kthread.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
linux_compat.c Switch the vm_object mutex to be a rwlock. This will enable in the 2013-03-09 02:32:23 +00:00
linux_idr.c Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
linux_radix.c Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
list.h Commit the support for removing cpumask_t and replacing it directly with 2011-05-05 14:39:14 +00:00
lockdep.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
log2.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
miscdevice.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
mm.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
module.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
moduleparam.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
mount.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
mutex.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
net.h - Updated TOE support in the kernel. 2012-06-19 07:34:13 +00:00
netdevice.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
notifier.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
page.h Use VM_MEMATTR_UNCACHEABLE instead of VM_MEMATTR_UNCACHED for UC mappings. 2012-03-27 14:24:29 +00:00
pci.h Redo r242842, now actually fixing the warnings, as follows: 2012-11-12 22:01:29 +00:00
poll.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
radix-tree.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
random.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
rbtree.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
rtnetlink.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
rwlock.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
rwsem.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
scatterlist.h Allow the ofed modules to be compiled on i386. 2011-03-21 21:16:40 +00:00
sched.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
semaphore.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
slab.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
socket.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
spinlock.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
stddef.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
string.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
sysfs.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
timer.h Add protective parentheses for macro argument, missed in r247671. 2013-03-02 22:41:06 +00:00
types.h Do not define bool/true/false if the symbols already exist. 2011-12-12 18:43:24 +00:00
uaccess.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
vmalloc.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
wait.h - Merge in OFED 1.5.3 from projects/ofed/head 2011-03-21 09:58:24 +00:00
workqueue.h Fix clang warning when compiling iw_cxgb. 2012-06-25 16:52:27 +00:00