mirror_zfs/include
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
..
fs Public Release Prep 2010-05-17 15:18:00 -07:00
linux Optimize spl_rwsem_is_locked() 2012-07-13 13:07:39 -07:00
rpc Public Release Prep 2010-05-17 15:18:00 -07:00
sharefs Public Release Prep 2010-05-17 15:18:00 -07:00
sys Constify memory management functions 2012-07-03 16:07:27 -07:00
util Add missing header util/sscanf.h 2010-06-14 14:20:31 -07:00
vm Public Release Prep 2010-05-17 15:18:00 -07:00
.gitignore sun-misc-gitignore 2010-01-08 09:37:54 -08:00
Makefile.am Add the release component to headers 2012-01-18 11:06:26 -08:00
Makefile.in Cleanly support debug packages 2012-02-27 14:24:22 -08:00
spl-ctl.h Public Release Prep 2010-05-17 15:18:00 -07:00
spl-debug.h Add missing spl_debug_* helpers 2012-02-09 16:41:46 -08:00
spl-device.h Public Release Prep 2010-05-17 15:18:00 -07:00
spl-trace.h Split <sys/debug.h> header 2010-07-20 13:29:35 -07:00
splat-ctl.h Add linux compatibility tests 2011-06-21 14:02:46 -07:00
strings.h Public Release Prep 2010-05-17 15:18:00 -07:00
unistd.h Public Release Prep 2010-05-17 15:18:00 -07:00