linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* mac80211 flush callback
@ 2012-08-29 11:32 Arend van Spriel
  2012-09-05 13:53 ` Johannes Berg
  0 siblings, 1 reply; 4+ messages in thread
From: Arend van Spriel @ 2012-08-29 11:32 UTC (permalink / raw)
  To: Johannes Berg; +Cc: linux-wireless@vger.kernel.org, John W. Linville

Hoi Johannes,

I ma currently looking into a long standing issue with flush callback in 
brcmsmac. After some debugging I found out that mac80211 keeps pushing 
packets to brcmsmac during the flush. Is that correct? Should brcmsmac 
(or any other driver) stop the mac80211 queues during the flush? My 
assumption was that mac80211 would not do transmits during the flush, 
but it probably comes from another worker thread.

Gr. AvS


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

* Re: mac80211 flush callback
  2012-08-29 11:32 mac80211 flush callback Arend van Spriel
@ 2012-09-05 13:53 ` Johannes Berg
  2012-09-05 16:27   ` Arend van Spriel
  0 siblings, 1 reply; 4+ messages in thread
From: Johannes Berg @ 2012-09-05 13:53 UTC (permalink / raw)
  To: Arend van Spriel; +Cc: linux-wireless@vger.kernel.org, John W. Linville

Hi Arend,

> I ma currently looking into a long standing issue with flush callback in 
> brcmsmac. After some debugging I found out that mac80211 keeps pushing 
> packets to brcmsmac during the flush. Is that correct? Should brcmsmac 
> (or any other driver) stop the mac80211 queues during the flush? My 
> assumption was that mac80211 would not do transmits during the flush, 
> but it probably comes from another worker thread.

Hmm, good question, this area isn't quite fully worked out yet I
think ... probably better to stop queues yourself for now, although I
guess mac80211 should really take care to do it ...

johannes


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

* Re: mac80211 flush callback
  2012-09-05 13:53 ` Johannes Berg
@ 2012-09-05 16:27   ` Arend van Spriel
  2012-09-05 16:34     ` Johannes Berg
  0 siblings, 1 reply; 4+ messages in thread
From: Arend van Spriel @ 2012-09-05 16:27 UTC (permalink / raw)
  To: Johannes Berg; +Cc: linux-wireless@vger.kernel.org, John W. Linville

On 09/05/2012 03:53 PM, Johannes Berg wrote:
> Hi Arend,
>
>> I ma currently looking into a long standing issue with flush callback in
>> brcmsmac. After some debugging I found out that mac80211 keeps pushing
>> packets to brcmsmac during the flush. Is that correct? Should brcmsmac
>> (or any other driver) stop the mac80211 queues during the flush? My
>> assumption was that mac80211 would not do transmits during the flush,
>> but it probably comes from another worker thread.
>
> Hmm, good question, this area isn't quite fully worked out yet I
> think ... probably better to stop queues yourself for now, although I
> guess mac80211 should really take care to do it ...
>

Thanks, Johannes

I did look at some other driver and it seems they grab a mutex in the 
flush that is (probably?) also grabbed in the tx path thus blocking it. 
For brcmsmac I submitted a patch to explicitly stop the queues in the flush.

Gr. AvS


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

* Re: mac80211 flush callback
  2012-09-05 16:27   ` Arend van Spriel
@ 2012-09-05 16:34     ` Johannes Berg
  0 siblings, 0 replies; 4+ messages in thread
From: Johannes Berg @ 2012-09-05 16:34 UTC (permalink / raw)
  To: Arend van Spriel; +Cc: linux-wireless@vger.kernel.org, John W. Linville

On Wed, 2012-09-05 at 18:27 +0200, Arend van Spriel wrote:
> On 09/05/2012 03:53 PM, Johannes Berg wrote:
> > Hi Arend,
> >
> >> I ma currently looking into a long standing issue with flush callback in
> >> brcmsmac. After some debugging I found out that mac80211 keeps pushing
> >> packets to brcmsmac during the flush. Is that correct? Should brcmsmac
> >> (or any other driver) stop the mac80211 queues during the flush? My
> >> assumption was that mac80211 would not do transmits during the flush,
> >> but it probably comes from another worker thread.
> >
> > Hmm, good question, this area isn't quite fully worked out yet I
> > think ... probably better to stop queues yourself for now, although I
> > guess mac80211 should really take care to do it ...
> >
> 
> Thanks, Johannes
> 
> I did look at some other driver and it seems they grab a mutex in the 
> flush that is (probably?) also grabbed in the tx path thus blocking it. 
> For brcmsmac I submitted a patch to explicitly stop the queues in the flush.

I don't think any driver could possibly grab a mutex in the TX path
since it needs to be atomic? :)

johannes


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

end of thread, other threads:[~2012-09-05 16:33 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-08-29 11:32 mac80211 flush callback Arend van Spriel
2012-09-05 13:53 ` Johannes Berg
2012-09-05 16:27   ` Arend van Spriel
2012-09-05 16:34     ` Johannes Berg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).