freebsd-nq/sys
Adrian Chadd 7561cb5c8b Wrap the whole (software) TX path from ifnet dequeue to software queue
(or direct dispatch) behind the TXQ lock (which, remember, is doubling
as the TID lock too for now.)

This ensures that:

 (a) the sequence number and the CCMP PN allocation is done together;
 (b) overlapping transmit paths don't interleave frames, so we don't
     end up with the original issue that triggered kern/166190.

     Ie, that we don't end up with seqno A, B in thread 1, C, D in
     thread 2, and they being queued to the software queue as "A C D B"
     or similar, leading to the BAW stalls.

This has been tested:

* both STA and AP modes with INVARIANTS and WITNESS;
* TCP and UDP TX;
* both STA->AP and AP->STA.

STA is a Routerstation Pro (single CPU MIPS) and the AP is a dual-core
Centrino.

PR:		kern/166190
2012-06-11 07:44:16 +00:00
..
amd64 Some fixes for r236772. 2012-06-10 02:38:51 +00:00
arm Remove an unneeded increment from initarm. The variable is uninitialised, 2012-06-10 10:40:22 +00:00
boot The loaddev environment variable is not modifiable once set, so it is not 2012-06-04 20:56:40 +00:00
bsm
cam One more major cam_periph_error() rewrite to improve error handling and 2012-06-09 13:07:44 +00:00
cddl ds_guid of 0 is special, as it is used by snapshot receive code to 2012-06-09 20:16:19 +00:00
compat Make sure that each va_start has one and only one matching va_end, 2012-05-29 01:48:06 +00:00
conf Some fixes for r236772. 2012-06-10 02:38:51 +00:00
contrib Merge revision 1.715 from OpenBSD: 2012-06-06 09:36:52 +00:00
crypto
ddb Update the ddb and gdb backends for the new 'trace_thread' hook. 2012-04-12 21:34:58 +00:00
dev Wrap the whole (software) TX path from ifnet dequeue to software queue 2012-06-11 07:44:16 +00:00
fs Improve handling of uiomove(9) errors for the NFS client. 2012-06-06 16:30:16 +00:00
gdb Update the ddb and gdb backends for the new 'trace_thread' hook. 2012-04-12 21:34:58 +00:00
geom Add missing newlines into XML output. 2012-06-05 16:46:34 +00:00
gnu/fs Fix build: 2012-05-23 06:49:50 +00:00
i386 Some fixes for r236772. 2012-06-10 02:38:51 +00:00
ia64 Improve style(9) in the previous commit. 2012-06-01 17:07:52 +00:00
isa
kern Remove redundant include. 2012-06-10 20:24:01 +00:00
kgssapi
libkern Use strcmp that I replaced by accident. 2012-05-21 02:45:47 +00:00
mips MFp4 bz_ipv6_fast: 2012-05-24 22:00:48 +00:00
modules Only build filemon(4) on x86. 2012-06-05 17:44:54 +00:00
net Fix typo introduced in r236559. 2012-06-09 10:04:40 +00:00
net80211 Fix some corner cases in the ieee80211_send_bar() handling. 2012-05-22 19:37:12 +00:00
netatalk Fix typos 2012-02-28 15:07:05 +00:00
netgraph Revert my local not yet properly tested changes, that leaked in 2012-05-25 07:46:24 +00:00
netinet Validate IPv4 network mask being passed to ipfw kernel interface. 2012-06-09 17:39:05 +00:00
netinet6 Plug two interface address refcount leaks in early error return cases 2012-06-05 13:27:37 +00:00
netipsec
netipx
netnatm
netncp Add characters mapping for codepages used in Germany. 2012-06-01 03:59:08 +00:00
netsmb
nfs
nfsclient PR# 165923 reported intermittent write failures for dirty 2012-05-12 12:02:51 +00:00
nfsserver
nlm
ofed Revert r234834 per luigi@ request. 2012-05-03 08:56:43 +00:00
opencrypto
pc98 MFprojects/zfsd: 2012-05-24 11:20:51 +00:00
pci intpm: add ATI IXP400 pci id 2012-04-16 10:33:46 +00:00
powerpc Panic openly if we cannot retrieve memory information from the device tree. 2012-05-30 18:05:48 +00:00
rpc
security Check vplabel for NULL before dereferencing it. Fixes a panic 2012-05-03 15:51:34 +00:00
sparc64 Replace all uses of the vm page queues lock by a r/w lock that is private 2012-05-29 01:52:38 +00:00
sys Add x86/acpica/acpi_wakeup.c for amd64 and i386. Difference of 2012-06-09 00:37:26 +00:00
teken
tools Make vnode_if.awk parse vnode operations with underscores, like VOP_FOO_BAR. 2012-02-21 19:35:59 +00:00
ufs Enable vn_io_fault() lock avoidance for UFS. 2012-05-30 16:45:41 +00:00
vm Use the previous stack entry protection and max protection to correctly 2012-06-10 11:31:50 +00:00
x86 Add x86/acpica/acpi_wakeup.c for amd64 and i386. Difference of 2012-06-09 00:37:26 +00:00
xdr
xen blkif interface comment cleanups. No functional changes 2012-02-29 17:47:01 +00:00
Makefile Add sys/ofed to the 'make cscope' target. 2012-03-20 18:05:15 +00:00