freebsd-skq/sys
Konstantin Belousov 261fda00cd Use atomic_fence_fence_rel() to ensure ordering in the
seq_write_begin(), instead of the load_rmb/rbm_load functions.  The
update does not need to be atomic due to the write lock owned.

Similarly, in seq_write_end(), update of *seqp needs not be atomic.
Only store must be atomic with release.

For seq_read(), the natural operation is the load acquire of the
sequence value, express this directly with atomic_load_acq_int()
instead of using custom partial fence implementation
atomic_load_rmb_int().

In seq_consistent, use atomic_thread_fence_acq() which provides the
desired semantic of ordering reads before fence before the re-reading
of *seqp, instead of custom atomic_rmb_load_int().

Reviewed by:	alc, bde
Sponsored by:	The FreeBSD Foundation
MFC after:	3 weeks
2015-07-08 18:37:08 +00:00
..
amd64 Add the atomic_thread_fence() family of functions with intent to 2015-07-08 18:12:24 +00:00
arm Add the atomic_thread_fence() family of functions with intent to 2015-07-08 18:12:24 +00:00
arm64 Add the atomic_thread_fence() family of functions with intent to 2015-07-08 18:12:24 +00:00
boot Add the Banana Pi DTS. 2015-07-07 19:01:54 +00:00
bsm
cam Make first step toward supporting target and initiator roles same time. 2015-07-05 03:38:58 +00:00
cddl fd: make 'rights' a manadatory argument to fget* functions 2015-07-05 19:05:16 +00:00
compat fd: make 'rights' a manadatory argument to fget* functions 2015-07-05 19:05:16 +00:00
conf Introduce ITS support for ARM64 2015-07-06 18:27:41 +00:00
contrib Move the nvlist source and private includes from sys/kern to seperate 2015-07-04 16:33:37 +00:00
crypto unroll the loop slightly... This improves performance enough to 2015-07-07 20:31:09 +00:00
ddb Correct the function name in catch-all error handling case. 2015-06-17 10:20:59 +00:00
dev Attempt to make 5GHz HT/40 work on the 6xxx series NICs. 2015-07-07 03:51:29 +00:00
fs Check suspendability on the mountpoint returned by VOP_GETWRITEMOUNT. 2015-07-05 22:37:33 +00:00
gdb CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than ten 2015-05-22 17:05:21 +00:00
geom Properly propagate errors in metadata reading. 2015-07-02 10:57:34 +00:00
gnu The GNU Amlogic DTS files have some errors (e.g. bad register 2015-04-11 08:17:39 +00:00
i386 Add the atomic_thread_fence() family of functions with intent to 2015-07-08 18:12:24 +00:00
isa
kern Handle copyout for the fcntl(F_OGETLK) using oflock structure. 2015-07-08 13:19:13 +00:00
kgssapi
libkern Huge cleanup of random(4) code. 2015-06-30 17:00:45 +00:00
mips Add the atomic_thread_fence() family of functions with intent to 2015-07-08 18:12:24 +00:00
modules Add the Banana Pi DTS. 2015-07-07 19:01:54 +00:00
net Fix if_loop so bpfwrite() can use it regardless of the state of 2015-07-06 02:12:49 +00:00
net80211 Break out the current 802.11 software scan methods into an indirect table. 2015-06-08 02:35:43 +00:00
netgraph Fix rfcomm_sppd regression I could reproduced. 2015-07-07 15:56:51 +00:00
netinet Export the ssthresh value per SCTP path via the sysctl interface. 2015-07-07 06:34:28 +00:00
netinet6 Keep IPv6 address specified by IPV6_PKTINFO socket option in kernel 2015-07-03 19:01:38 +00:00
netipsec Fill the port and protocol information in the SADB_ACQUIRE message 2015-07-06 12:40:31 +00:00
netnatm
netpfil ALTQ FAIRQ discipline import from DragonFLY 2015-06-24 19:16:41 +00:00
netsmb
nfs
nfsclient Remove some oldnfs remnants. 2015-04-18 16:08:06 +00:00
nfsserver
nlm
ofed Fix broken implementation of "kvasprintf()" function by adding missing 2015-07-03 11:16:20 +00:00
opencrypto we may get here w/ non-sleepable locks held, so switch to _NOWAIT when 2015-07-07 18:45:32 +00:00
pc98 Fix up tabs vs. spaces 2015-07-04 20:31:06 +00:00
powerpc Add the atomic_thread_fence() family of functions with intent to 2015-07-08 18:12:24 +00:00
rpc Remove hard limits on number of accepting NFS connections. 2015-04-07 10:25:27 +00:00
security fd: make 'rights' a manadatory argument to fget* functions 2015-07-05 19:05:16 +00:00
sparc64 Add the atomic_thread_fence() family of functions with intent to 2015-07-08 18:12:24 +00:00
sys Use atomic_fence_fence_rel() to ensure ordering in the 2015-07-08 18:37:08 +00:00
teken
tools
ufs Check suspendability on the mountpoint returned by VOP_GETWRITEMOUNT. 2015-07-05 22:37:33 +00:00
vm The intention of r254304 was to scan the active queue continuously. 2015-07-08 17:45:59 +00:00
x86 Set the initial system time to a sane (as in: not end of 21st century) value when 2015-06-29 17:02:09 +00:00
xdr
xen Garbage collect comments which related to the pre-r284296 support for a 2015-06-21 06:05:33 +00:00
Makefile Kill EoL whitespace. 2015-05-29 14:03:07 +00:00