All of lore.kernel.org
 help / color / mirror / Atom feed
* How is tx-flushing supposed to work now?
@ 2016-03-29 19:26 Ben Greear
  2016-03-30 10:38 ` Michal Kazior
  0 siblings, 1 reply; 5+ messages in thread
From: Ben Greear @ 2016-03-29 19:26 UTC (permalink / raw)
  To: ath10k

When we have multiple vdevs, and the 10.4.3 firmware with the tx-push logic,
how is flushing supposed to work?

First, when we get a flush, should we first purge any frames not yet pushed
to the firmware?

And second, what keeps other vdevs from continuing to transmit frames while one
vdev is trying to be flushed?

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: How is tx-flushing supposed to work now?
  2016-03-29 19:26 How is tx-flushing supposed to work now? Ben Greear
@ 2016-03-30 10:38 ` Michal Kazior
  2016-03-30 14:35   ` Ben Greear
  2016-03-30 20:50   ` Ben Greear
  0 siblings, 2 replies; 5+ messages in thread
From: Michal Kazior @ 2016-03-30 10:38 UTC (permalink / raw)
  To: Ben Greear; +Cc: ath10k

On 29 March 2016 at 21:26, Ben Greear <greearb@candelatech.com> wrote:
> When we have multiple vdevs, and the 10.4.3 firmware with the tx-push logic,
> how is flushing supposed to work?

This isn't really as much about pull-push logic in 10.4.3 as it is
about wake_tx_queue() in general, is it?


> First, when we get a flush, should we first purge any frames not yet pushed
> to the firmware?

I would expect mac80211 to purge txqs.


> And second, what keeps other vdevs from continuing to transmit frames while
> one
> vdev is trying to be flushed?

Hmm.. I guess ath10k flush() implementation doesn't really do what it
should. It should wait just for frames for given vif but it waits for
everything.


Michał

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: How is tx-flushing supposed to work now?
  2016-03-30 10:38 ` Michal Kazior
@ 2016-03-30 14:35   ` Ben Greear
  2016-03-30 20:50   ` Ben Greear
  1 sibling, 0 replies; 5+ messages in thread
From: Ben Greear @ 2016-03-30 14:35 UTC (permalink / raw)
  To: Michal Kazior; +Cc: ath10k



On 03/30/2016 03:38 AM, Michal Kazior wrote:
> On 29 March 2016 at 21:26, Ben Greear <greearb@candelatech.com> wrote:
>> When we have multiple vdevs, and the 10.4.3 firmware with the tx-push logic,
>> how is flushing supposed to work?
>
> This isn't really as much about pull-push logic in 10.4.3 as it is
> about wake_tx_queue() in general, is it?

Maybe, I'm a bit confused about how it all works.

>> First, when we get a flush, should we first purge any frames not yet pushed
>> to the firmware?
>
> I would expect mac80211 to purge txqs.
>
>
>> And second, what keeps other vdevs from continuing to transmit frames while
>> one
>> vdev is trying to be flushed?
>
> Hmm.. I guess ath10k flush() implementation doesn't really do what it
> should. It should wait just for frames for given vif but it waits for
> everything.

Yes, I think so.  If mac80211 is trying to flush a single vif, then
probably it is letting other vifs on the same radio still transmit as well,
so likely ath10k tx-queues are not going to go to zero in that case.

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: How is tx-flushing supposed to work now?
  2016-03-30 10:38 ` Michal Kazior
  2016-03-30 14:35   ` Ben Greear
@ 2016-03-30 20:50   ` Ben Greear
  2016-03-31  5:23     ` Michal Kazior
  1 sibling, 1 reply; 5+ messages in thread
From: Ben Greear @ 2016-03-30 20:50 UTC (permalink / raw)
  To: Michal Kazior; +Cc: ath10k

On 03/30/2016 03:38 AM, Michal Kazior wrote:
> On 29 March 2016 at 21:26, Ben Greear <greearb@candelatech.com> wrote:
>> When we have multiple vdevs, and the 10.4.3 firmware with the tx-push logic,
>> how is flushing supposed to work?
>
> This isn't really as much about pull-push logic in 10.4.3 as it is
> about wake_tx_queue() in general, is it?

In particular, I am curious about the ar->txqs, and the ath10k_mac_tx_push_pending
method.  Should we purge the ar->txqs as part of the flush logic?

Thanks,
Ben


>
>
>> First, when we get a flush, should we first purge any frames not yet pushed
>> to the firmware?
>
> I would expect mac80211 to purge txqs.
>
>
>> And second, what keeps other vdevs from continuing to transmit frames while
>> one
>> vdev is trying to be flushed?
>
> Hmm.. I guess ath10k flush() implementation doesn't really do what it
> should. It should wait just for frames for given vif but it waits for
> everything.
>
>
> Michał
>


-- 
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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: How is tx-flushing supposed to work now?
  2016-03-30 20:50   ` Ben Greear
@ 2016-03-31  5:23     ` Michal Kazior
  0 siblings, 0 replies; 5+ messages in thread
From: Michal Kazior @ 2016-03-31  5:23 UTC (permalink / raw)
  To: Ben Greear; +Cc: ath10k

On 30 March 2016 at 22:50, Ben Greear <greearb@candelatech.com> wrote:
> On 03/30/2016 03:38 AM, Michal Kazior wrote:
>>
>> On 29 March 2016 at 21:26, Ben Greear <greearb@candelatech.com> wrote:
>>>
>>> When we have multiple vdevs, and the 10.4.3 firmware with the tx-push
>>> logic,
>>> how is flushing supposed to work?
>>
>>
>> This isn't really as much about pull-push logic in 10.4.3 as it is
>> about wake_tx_queue() in general, is it?
>
>
> In particular, I am curious about the ar->txqs, and the
> ath10k_mac_tx_push_pending
> method.  Should we purge the ar->txqs as part of the flush logic?

No need to. If mac80211 purges some txqs ath10k will eventually visit
an empty txq and remove it (push/threshold mode). If ath10k FW is in
pull-push it'll prompt fetch-ind event which will 1) submit 0 frames
2) update hostq state.


Michał

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2016-03-31  5:23 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-03-29 19:26 How is tx-flushing supposed to work now? Ben Greear
2016-03-30 10:38 ` Michal Kazior
2016-03-30 14:35   ` Ben Greear
2016-03-30 20:50   ` Ben Greear
2016-03-31  5:23     ` Michal Kazior

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.