freebsd-dev/sys
Adrian Chadd 6eb9f206a6 [ath] [ar9300] ensure the software scheduler is called to form more aggregates for EDMA chips
When investigating performance on UDP TX on the AR9380 I found that the
following sequence was occuring:

* INTR
* EINPROGRESS - nothing yet
* INTR
* TXSTATUS - process a TX completion for an aggregate
* INTR, INTR
* TXSTATUS - process a TX completion for an aggregate
* TXD, TXD ... populate frames from the hardware queue and submit

What should be happening is a completed TXSTATUS fires off more packets
that are queued on active TIDs.

What /was/ happening was after that first TXSTATUS the TX queue hardware queue
was still empty, so it didn't push anything into the FIFO.  Only after the
second TXSTATUS did any progress get made.

This is one of two commits - it ensures that the software TX queue scheduler
is called /after/ TX completion, otherwise no frames from the software staging
queues will be processed into the hardware queues.

The second commit will fix it so it populates aggregate frames correctly
when the above occurs - right now ath_txq_sched() is called, but it doesn't
populate anything because its pre-check conditions are wrong.

Whilst here, add/tweak debugging.

Tested:

* AR9380 STA (testing device) -> AR9580 hostap
2017-01-23 04:20:37 +00:00
..
amd64 Use SFENCE for ordering CLFLUSHOPT. 2017-01-20 19:08:44 +00:00
arm Be a little more pedantic here, the TRM says the hardware is supposed to 2017-01-22 17:24:00 +00:00
arm64 Catch up with changes to structure member names. 2017-01-17 22:05:52 +00:00
boot Remove empty ranges property so beri_simplebus can be attached again. 2017-01-18 14:41:59 +00:00
bsm
cam Remove max_targets and max_target_id CTL port variables; they were unused. 2017-01-22 20:06:15 +00:00
cddl Remove the DTRACEHIOC_ADD ioctl. 2017-01-23 02:21:06 +00:00
compat Catch up with changes to structure member names. 2017-01-17 22:05:52 +00:00
conf Don't pass -Wa,-many through clang, the integrated as doesn't support it. 2017-01-22 06:00:05 +00:00
contrib Merge ACPICA 20170119. 2017-01-19 22:07:21 +00:00
crypto libmd: add noexec stack annotation in skein_block_asm.s 2017-01-07 19:26:25 +00:00
ddb Revert r311952. 2017-01-14 22:06:25 +00:00
dev [ath] [ar9300] ensure the software scheduler is called to form more aggregates for EDMA chips 2017-01-23 04:20:37 +00:00
fs Remove mistakenly merged field. 2017-01-19 20:03:26 +00:00
gdb
geom Report disk addition errors on add or create subcommand. 2017-01-20 13:49:04 +00:00
gnu Add Ingenic X1000 DTS files (unofficial). 2016-11-19 15:03:49 +00:00
i386 Use SFENCE for ordering CLFLUSHOPT. 2017-01-20 19:08:44 +00:00
isa
kern Add comments explaining unobvious td_critnest adjustments in 2017-01-22 19:41:42 +00:00
kgssapi
libkern libkern: Remove obsolete 'register' keyword 2017-01-12 17:02:29 +00:00
mips Enable TMPFS on MALTA so we can use it on minimalist disk images without 2017-01-21 09:08:27 +00:00
modules Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 05:45:07 +00:00
net Fix reference to free memory in ixgbe/if_media.c 2017-01-20 17:16:48 +00:00
net80211 net80211: fix flags setup for HT40 5GHz channels. 2017-01-22 23:45:59 +00:00
netgraph mppc - Finish pluging NETGRAPH_MPPC_COMPRESSION. 2017-01-20 00:02:11 +00:00
netinet Implement kernel support for hardware rate limited sockets. 2017-01-18 13:31:17 +00:00
netinet6 Implement kernel support for hardware rate limited sockets. 2017-01-18 13:31:17 +00:00
netipsec Add direction argument to ipsec_setspidx_inpcb() function. 2017-01-08 12:40:07 +00:00
netnatm
netpfil Initialize IPFW static rules rmlock with RM_RECURSE flag. 2017-01-17 10:50:28 +00:00
netsmb
nfs
nfsclient
nfsserver
nlm
ofed Move the ConnectX-3 and ConnectX-2 driver from sys/ofed into sys/dev/mlx4 2016-09-30 08:23:06 +00:00
opencrypto Add support for the fpu_kern(9) KPI on arm64. It hooks into the existing 2016-10-20 09:22:10 +00:00
pc98 Add a COMPAT_FREEBSD11 kernel option. 2016-12-09 18:54:12 +00:00
powerpc Avoid using non-zero argument for __builtin_frame_address(). 2017-01-23 04:03:12 +00:00
riscv Disable superpages reservations as we don't have implemented them yet. 2016-11-21 12:00:31 +00:00
rpc
security Audit 'fd' and 'cmd' arguments to fcntl(2), and when generating BSM, 2016-11-22 00:41:24 +00:00
sparc64 Trim a few comments on platforms that did not implement mmap of /dev/kmem. 2017-01-13 21:52:53 +00:00
sys Add remaining ELF compression definitions and structs 2017-01-21 17:39:10 +00:00
teken
tests
tools Replace using of objdump with elfdump 2017-01-10 18:46:40 +00:00
ufs ffs_vnops: Simplify extattr access 2017-01-19 16:46:05 +00:00
vm Avoid unnecessary page lookups in vm_object_madvise(). 2017-01-15 03:50:08 +00:00
x86 "Buses" is the preferred plural of "bus" 2017-01-15 17:54:01 +00:00
xdr
xen "Buses" is the preferred plural of "bus" 2017-01-15 17:54:01 +00:00
Makefile