mirror_zfs/include/linux
Brian Behlendorf d503b971f4 Optimize spl_rwsem_is_locked()
The spl_rwsem_is_locked() compatibility function has been observed
to be a hot spot.  The root cause of this is that we must check the
rwsem activity under the rwsem->wait_lock to avoid a race.  When
the lock is busy significant contention can occur.

The upstream kernel fix for this race had the insight that by using
spin_trylock_irqsave() this contention could be avoided.  When the
lock is contended it's reasonable to return that it is locked.

This change updates the SPLs implemention to be like the upstream
kernel.  Since the kernel code has been in use for years now this
a low risk change.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
2012-07-13 13:07:39 -07:00
..
bitops_compat.h Public Release Prep 2010-05-17 15:18:00 -07:00
compiler_compat.h Fix compilation error due to undefined ACCESS_ONCE macro. 2010-07-20 13:47:52 -07:00
file_compat.h Linux 3.4 compat, __clear_close_on_exec replaces FD_CLR 2012-06-13 16:18:51 -07:00
kallsyms_compat.h Public Release Prep 2010-05-17 15:18:00 -07:00
list_compat.h Public Release Prep 2010-05-17 15:18:00 -07:00
Makefile.in Build system and packaging (RPM support) 2009-03-09 15:56:55 -07:00
math64_compat.h Add __divdi3(), remove __udivdi3() kernel dependency 2010-07-13 16:44:02 -07:00
mm_compat.h Proxmox VE kernel compat, invalidate_inodes() 2011-12-21 14:29:45 -08:00
module_compat.h Public Release Prep 2010-05-17 15:18:00 -07:00
mutex_compat.h Public Release Prep 2010-05-17 15:18:00 -07:00
proc_compat.h Prepend spl_ to all init/fini functions 2011-11-11 09:18:28 -08:00
rwsem_compat.h Optimize spl_rwsem_is_locked() 2012-07-13 13:07:39 -07:00
smp_compat.h Public Release Prep 2010-05-17 15:18:00 -07:00
sysctl_compat.h Public Release Prep 2010-05-17 15:18:00 -07:00
time_compat.h Public Release Prep 2010-05-17 15:18:00 -07:00
uaccess_compat.h Public Release Prep 2010-05-17 15:18:00 -07:00
workqueue_compat.h Public Release Prep 2010-05-17 15:18:00 -07:00
zlib_compat.h Linux 2.6.39 compat, zlib_deflate_workspacesize() 2011-04-20 14:39:15 -07:00