ATH10K Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Ben Greear <greearb@candelatech.com>
To: Michal Kazior <michal.kazior@tieto.com>
Cc: ath10k <ath10k@lists.infradead.org>
Subject: Re: Need to get msdu-chaining working.
Date: Fri, 28 Feb 2014 11:12:49 -0800	[thread overview]
Message-ID: <5310DFB1.902@candelatech.com> (raw)
In-Reply-To: <CA+BoTQm7fE5w7XYao8NmYrwj7qR-EasjQCAMGC0MS==y29aaHw@mail.gmail.com>

On 02/27/2014 11:41 PM, Michal Kazior wrote:
> On 28 February 2014 02:18, Ben Greear <greearb@candelatech.com> wrote:
>> On 02/26/2014 10:51 PM, Michal Kazior wrote:
>>
>>> >From what I understand chained msdu is a msdu that hasn't fit into the
>>> 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).
>>
>> I got this working, basically using memcpy approach.
>>
>> Throughput is comparable what I was seeing on stock firmware,
>> but I do notice an issue:
> 
> Doing memcpy() is pretty bad, though. It'll hurt you, sooner or later,
> or hurt other with less powerful host systems.
> 
> The problem is chained msdus suggest A-MSDU rx. This means you
> re-assemble the aggregate, just to pass it to mac80211 which splits
> the frame into 802.3 frames (again, memcpy). This can easily flush you
> d-cache.

That is interesting...maybe a better API would allow us to pass
a-msdu chains directly to mac80211?


>> The reported rx speed is almost always 6Mbps when I drive at high speeds.
>>
>> (At low speeds I see rx rate reported at 1.3Gbps most of the time.)
>>
>> I am pretty sure this is related to the msdu-chaining somehow.
>>
>> There are lots of FIXME's in the ath10k_htt_rx_amsdu_pop method.
>>
>> Any idea where the rx rate problem might lie?
> 
> Interesting. Rx rates are computed from the htt_rx_indication
> structure, not popped frames from rx ring. I'm guessing FW/HW doesn't
> fill in some stuff for raw rx at all. You probably can't do much about
> it if it's HW. You can probably hack your way around if it's just FW
> not copying some register values.

Ok, I'll go look at this in more detail.

I do see expected rates at lower speeds (where a-msdu does not happen),
so it's not *just* a problem with raw rx mode.

Thanks,
Ben


-- 
Ben Greear <greearb@candelatech.com>
Candela Technologies Inc  http://www.candelatech.com


_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k

      reply	other threads:[~2014-02-28 19:13 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-26 23:38 Need to get msdu-chaining working Ben Greear
2014-02-27  6:51 ` Michal Kazior
2014-02-27 16:08   ` Ben Greear
2014-02-28  7:36     ` Michal Kazior
2014-03-03 22:13       ` Ben Greear
2014-03-04  7:36         ` Michal Kazior
2014-03-04 16:59           ` Ben Greear
2014-03-05  8:09             ` Michal Kazior
2014-03-05 20:50               ` Ben Greear
2014-03-06  7:36                 ` Michal Kazior
2014-02-28  1:18   ` Ben Greear
2014-02-28  7:41     ` Michal Kazior
2014-02-28 19:12       ` Ben Greear [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5310DFB1.902@candelatech.com \
    --to=greearb@candelatech.com \
    --cc=ath10k@lists.infradead.org \
    --cc=michal.kazior@tieto.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox