mirror_zfs/include/spl/sys
Brian Behlendorf 3982d959c5 Linux 5.3 compat: retire rw_tryupgrade()
The Linux kernel's rwsem's have never provided an interface to
allow a reader to be upgraded to a writer.  Historically, this
functionality has been implemented by a SPL wrapper function.
However, this approach depends on internal knowledge of the
rw_semaphore and is therefore rather brittle.

Since the ZFS code must always be able to fallback to rw_exit()
and rw_enter() when an rw_tryupgrade() fails; this functionality
isn't critical.  Furthermore, the only potentially performance
sensitive consumer is dmu_zfetch() and no decrease in performance
was observed with this change applied.  See the PR comments for
additional testing details.

Therefore, it is being retired to make the build more robust and
to simplify the rwlock implementation.

Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Tomohiro Kusumi <kusumi.tomohiro@gmail.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #9029
2019-09-25 11:27:49 -07:00
..
acl.h Prepare SPL repo to merge with ZFS repo 2018-05-29 14:51:39 -07:00
atomic.h Prepare SPL repo to merge with ZFS repo 2018-05-29 14:51:39 -07:00
byteorder.h Prepare SPL repo to merge with ZFS repo 2018-05-29 14:51:39 -07:00
callb.h Prepare SPL repo to merge with ZFS repo 2018-05-29 14:51:39 -07:00
callo.h Prepare SPL repo to merge with ZFS repo 2018-05-29 14:51:39 -07:00
cmn_err.h Prepare SPL repo to merge with ZFS repo 2018-05-29 14:51:39 -07:00
condvar.h Linux 4.18 compat: inode timespec -> timespec64 2018-06-19 21:51:18 -07:00
console.h Prepare SPL repo to merge with ZFS repo 2018-05-29 14:51:39 -07:00
cred.h Prepare SPL repo to merge with ZFS repo 2018-05-29 14:51:39 -07:00
ctype.h Prepare SPL repo to merge with ZFS repo 2018-05-29 14:51:39 -07:00
debug.h VERIFY3P() message is missing a space character 2019-06-07 12:39:13 -07:00
disp.h Prepare SPL repo to merge with ZFS repo 2018-05-29 14:51:39 -07:00
dkio.h Prepare SPL repo to merge with ZFS repo 2018-05-29 14:51:39 -07:00
errno.h Update build system and packaging 2018-05-29 16:00:33 -07:00
fcntl.h Prepare SPL repo to merge with ZFS repo 2018-05-29 14:51:39 -07:00
file.h Prepare SPL repo to merge with ZFS repo 2018-05-29 14:51:39 -07:00
inttypes.h Prepare SPL repo to merge with ZFS repo 2018-05-29 14:51:39 -07:00
isa_defs.h Fix kernel unaligned access on sparc64 2018-07-11 13:10:40 -07:00
kmem_cache.h Prepare SPL repo to merge with ZFS repo 2018-05-29 14:51:39 -07:00
kmem.h OpenZFS 9284 - arc_reclaim_thread has 2 jobs 2018-12-26 13:22:28 -08:00
kobj.h Prepare SPL repo to merge with ZFS repo 2018-05-29 14:51:39 -07:00
kstat.h Restrict kstats and print real pointers 2019-04-04 18:57:06 -07:00
list.h Prepare SPL repo to merge with ZFS repo 2018-05-29 14:51:39 -07:00
Makefile.am Add TRIM support 2019-03-29 09:13:20 -07:00
mode.h Prepare SPL repo to merge with ZFS repo 2018-05-29 14:51:39 -07:00
mutex.h Fix lockdep recursive locking false positive in dbuf_destroy 2019-09-25 11:27:49 -07:00
param.h Prepare SPL repo to merge with ZFS repo 2018-05-29 14:51:39 -07:00
proc.h Unbreak build on Linux kernel < 3.10 2019-04-08 14:59:24 -07:00
processor.h Prepare SPL repo to merge with ZFS repo 2018-05-29 14:51:39 -07:00
procfs_list.h Restrict kstats and print real pointers 2019-04-04 18:57:06 -07:00
random.h Prepare SPL repo to merge with ZFS repo 2018-05-29 14:51:39 -07:00
rwlock.h Linux 5.3 compat: retire rw_tryupgrade() 2019-09-25 11:27:49 -07:00
shrinker.h Prepare SPL repo to merge with ZFS repo 2018-05-29 14:51:39 -07:00
sid.h Prepare SPL repo to merge with ZFS repo 2018-05-29 14:51:39 -07:00
signal.h Prepare SPL repo to merge with ZFS repo 2018-05-29 14:51:39 -07:00
stat.h Prepare SPL repo to merge with ZFS repo 2018-05-29 14:51:39 -07:00
strings.h Linux 2.6.39 compat: Test if kstrtoul() exists 2019-06-07 12:39:13 -07:00
sunddi.h Prepare SPL repo to merge with ZFS repo 2018-05-29 14:51:39 -07:00
sysmacros.h Create /proc/sys/kernel/spl/gitrev with git hash 2018-10-08 21:57:02 -07:00
systeminfo.h Prepare SPL repo to merge with ZFS repo 2018-05-29 14:51:39 -07:00
taskq.h Prepare SPL repo to merge with ZFS repo 2018-05-29 14:51:39 -07:00
thread.h Prepare SPL repo to merge with ZFS repo 2018-05-29 14:51:39 -07:00
time.h Linux 4.18 compat: Use ktime_get_coarse_real_ts64() 2019-01-28 10:11:03 -08:00
timer.h kernel timer API rework 2019-09-25 11:27:46 -07:00
tsd.h Prepare SPL repo to merge with ZFS repo 2018-05-29 14:51:39 -07:00
types32.h Prepare SPL repo to merge with ZFS repo 2018-05-29 14:51:39 -07:00
types.h Linux 5.1 compat: Drop ULLONG_MAX and LLONG_MAX definitions 2019-05-07 09:55:40 -07:00
uio.h deadlock between mm_sem and tx assign in zfs_write() and page fault 2018-10-16 11:11:24 -07:00
user.h Prepare SPL repo to merge with ZFS repo 2018-05-29 14:51:39 -07:00
vfs.h Prepare SPL repo to merge with ZFS repo 2018-05-29 14:51:39 -07:00
vmem.h Prepare SPL repo to merge with ZFS repo 2018-05-29 14:51:39 -07:00
vmsystm.h Linux 5.0 compat: Use totalhigh_pages() 2019-05-04 16:40:48 -07:00
vnode.h Remove vn_set_fs_pwd()/vn_set_pwd() (no need to be at / during insmod) 2019-09-25 11:27:46 -07:00
wait.h Prepare SPL repo to merge with ZFS repo 2018-05-29 14:51:39 -07:00
zmod.h Prepare SPL repo to merge with ZFS repo 2018-05-29 14:51:39 -07:00
zone.h Prepare SPL repo to merge with ZFS repo 2018-05-29 14:51:39 -07:00