mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-12-26 19:19:32 +03:00
d503b971f4
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> |
||
---|---|---|
.. | ||
bitops_compat.h | ||
compiler_compat.h | ||
file_compat.h | ||
kallsyms_compat.h | ||
list_compat.h | ||
Makefile.in | ||
math64_compat.h | ||
mm_compat.h | ||
module_compat.h | ||
mutex_compat.h | ||
proc_compat.h | ||
rwsem_compat.h | ||
smp_compat.h | ||
sysctl_compat.h | ||
time_compat.h | ||
uaccess_compat.h | ||
workqueue_compat.h | ||
zlib_compat.h |