Linux wireless drivers development
 help / color / mirror / Atom feed
From: Johannes Berg <johannes@sipsolutions.net>
To: Sujith Manoharan <sujith@msujith.org>
Cc: Emmanuel Grumbach <egrumbach@gmail.com>,
	"Grumbach, Emmanuel" <emmanuel.grumbach@intel.com>,
	"linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>
Subject: Re: [PATCH] mac80211: Call mgd_prepare_tx before deauthentication
Date: Thu, 09 Oct 2014 11:40:04 +0200	[thread overview]
Message-ID: <1412847604.1828.38.camel@jlt4.sipsolutions.net> (raw)
In-Reply-To: <21530.29268.867868.46188@gargle.gargle.HOWL>

On Thu, 2014-09-18 at 11:19 +0530, Sujith Manoharan wrote:

> I can see your point and agree that the original intention of the mgd_prepare_tx()
> callback is as described in the documentation. But with multiple active
> contexts, flush() becomes a big hammer rather than a simple emptying of
> the queues. :-)

I'm a bit conflicted about this. If we add mgd_prepare_tx() here, what's
to say that we don't need to also do this for a variety of other frames?
Like sending delBA action frames? I guess the difference would be that
we don't disassoc immediately in those case.

However, if you consider deauth/flush while you're on a different
context, then mgd_prepare_tx() would potentially not really be
sufficient either. If that forces or waits for a context switch, you
really have no guarantee that the deauth frame went out because it might
be waiting behind other frames, and there's nothing that guarantees
enough time in the context slice to actually send out all of them ...

In that sense, I think you still have to implement flush.

But I also think you see it wrongly - you don't have to force a context
switch in flush, flush can essentially be "wait for queue to be empty"
and the context switching etc. happens in the background.

mgd_prepare_tx() is, the way I see it, really more for the case where
you really have no context scheduling *at all* and have to somehow send
a frame anyway. In the case we're talking about you have regular context
scheduling, and there shouldn't be a need to add a special scheduling on
top.

johannes


  reply	other threads:[~2014-10-09  9:40 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-17  4:33 [PATCH] mac80211: Call mgd_prepare_tx before deauthentication Sujith Manoharan
2014-09-17  4:54 ` Sujith Manoharan
2014-09-17  5:01   ` Grumbach, Emmanuel
2014-09-17  5:44     ` Sujith Manoharan
2014-09-17  5:50       ` Grumbach, Emmanuel
2014-09-17  6:01         ` Sujith Manoharan
2014-09-17  6:04           ` Grumbach, Emmanuel
2014-09-17  6:17             ` Sujith Manoharan
2014-09-17 19:01               ` Emmanuel Grumbach
2014-09-18  3:05                 ` Sujith Manoharan
2014-09-18  4:13                   ` Sujith Manoharan
2014-09-18  5:08                     ` Emmanuel Grumbach
2014-09-18  5:49                       ` Sujith Manoharan
2014-10-09  9:40                         ` Johannes Berg [this message]
2014-10-09 10:22                           ` Sujith Manoharan

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=1412847604.1828.38.camel@jlt4.sipsolutions.net \
    --to=johannes@sipsolutions.net \
    --cc=egrumbach@gmail.com \
    --cc=emmanuel.grumbach@intel.com \
    --cc=linux-wireless@vger.kernel.org \
    --cc=sujith@msujith.org \
    /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