summaryrefslogtreecommitdiffstats
path: root/contrib/libc++/src/system_error.cpp
diff options
context:
space:
mode:
authoradrian <adrian@FreeBSD.org>2015-09-21 02:30:22 +0000
committeradrian <adrian@FreeBSD.org>2015-09-21 02:30:22 +0000
commit5a9535253641d6a90a7abe8eea2f06af2800f56a (patch)
tree19baee59646196d711e972793cc7491d45a5b177 /contrib/libc++/src/system_error.cpp
parent514b6ff28ef4dbfdc2e12863e6b8199e91c41936 (diff)
downloadFreeBSD-src-5a9535253641d6a90a7abe8eea2f06af2800f56a.zip
FreeBSD-src-5a9535253641d6a90a7abe8eea2f06af2800f56a.tar.gz
Convert if_rsu to use a deferred transmit task rather than using rsu_start()
to do it directly. Ensure that we re-queue starting transmit upon TX completion. This solves two issues: * It stops tx stalls - before this, if the transmit path filled the mbuf queue then it'd never start another transmit. * It enforces ordering - this is very required for 802.11n which requires frames to be transmitted in the order they're queued. Since everything remotely involved in USB has an unlock/thing/relock pattern with that mutex, the only way to guarantee TX ordering is to 100% defer it into a separate thread. This now survives an iperf test and gets a reliable 30mbit/sec.
Diffstat (limited to 'contrib/libc++/src/system_error.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud