Need to get msdu-chaining working.

Ben Greear greearb at
Mon Mar 3 17:13:38 EST 2014

On 02/27/2014 11:36 PM, Michal Kazior wrote:

>>> rx buffer and is split across the popped amsdu list. I suspect only
>>> the first msdu in chain has the htt_rx_desc and all other have not
>>> (this is what the current code does, but you'll need to verify that).
>>> I would try to concatenate all msdus into one (lots of memcpy :( ) or
>>> increase the HTT_RX_BUF_SIZE so that A-MSDU frames can fit into a
>>> single buffer (hopefully FW/HW is capable of doing that).

Just FYI:  At least on my firmware in raw rx mode, increasing the
HTT_RX_BUF_SIZE (to 4 * 1920) and at least some chaining remains.
Performance did not change noticeably.  I'm using fairly powerful
core i7 processor systems, so maybe the memcpy doesn't
make enough difference to notice in my tests.

I did not put any effort into figuring out why.

I'm currently getting about 540Mbps upload TCP goodput,
and only 420Mbps download TCP goodput.  Not sure why
the discrepancy, but perhaps the rx raw performance
is worse for a variety of reasons.  My firmware changes
to support multiple stations to same AP may also be slowing
things down, though these numbers are from  a single station


Ben Greear <greearb at>
Candela Technologies Inc

More information about the ath10k mailing list