linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Johannes Berg <johannes@sipsolutions.net>
To: Luciano Coelho <coelho@ti.com>
Cc: victorg@ti.com, linux-wireless@vger.kernel.org
Subject: Re: [RFC 3/5] nl80211/cfg80211: adding intermediate scan result event.
Date: Wed, 21 Sep 2011 12:16:01 +0200	[thread overview]
Message-ID: <1316600161.3940.17.camel@jlt3.sipsolutions.net> (raw)
In-Reply-To: <1316595838.2157.468.camel@cumari>

On Wed, 2011-09-21 at 12:03 +0300, Luciano Coelho wrote:

> > advantages of 1:
> > + info is directly available
> > + very fine-grained
> > 
> > disadvantages of 1:
> > - lots of context switches, fairly expensive
> 
> I just want to mention that these context switches will be there
> regardless of whether the full BSS info is passed or not.

Of course, but sending half the info is not really an option I'm willing
to consider :-)

> > advantages of 2:
> > + adds more generic filtering capability
> 
> What do you mean here? I think we can have quite generic filtering in
> both cases.

True, but we won't do it if we don't need it here ;-)

> > + fewer context switches since retrieving BSS dump is limited & only
> > needs very few messages
> 
> Indeed the number of switches will be smaller.  To improve it further,
> as we discussed on IRC, we should also implement a per-channel BSS dump,
> otherwise we would have to retrieve the same data over an over again.

That's what I meant by the filtering.

> > disadvantages of 2:
> > - not quite as fine-grained
> 
> One more:
> - this requires HW support (which we don't have in wl12xx ;), unless SW
> scan is used

Oh, that might be true. You might be able to fake it but that seems
complex.

> I see your point about reducing the context switches while still
> increasing the granularity of scan results with this option 2, but I
> think it's not going to be that helpful.  Sure we can stop the scan
> earlier if we find what we want, but the possibilities will be smaller.
> 
> Also, with option 2, you may have more context switches too, if you're
> scanning on not-so-crowded areas.  If we report results per-channel, we
> will always have at least 37 events (with 11a and 11bg), each triggering
> at least 3 context switches, because userspace requests the BSS dump
> separately.  If we use per-results events, including all BSS info, we
> will have just as many context switches as there are results available.
> 
> Thus, I think passing intermediate result events, as they come, is more
> flexible and efficient in normal situations.  And if we really want to
> reduce the context switches and data copied from kernel to userspace, we
> also have the option of improving results filtering.  We could make some
> similar "match" filters as I have recently implemented for sched_scans.

Good points! I'm convinced :-)

johannes


  reply	other threads:[~2011-09-21 10:16 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-05 12:02 [RFC 0/5] Scan optimization Victor Goldenshtein
2011-09-05 12:02 ` [RFC v2 1/5] nl80211/cfg80211: adding 'scan_cancel' command Victor Goldenshtein
2011-09-05 12:05   ` Johannes Berg
     [not found]     ` <4E6736CE.20004@ti.com>
2011-09-07  9:26       ` Johannes Berg
2011-09-05 12:02 ` [RFC v2 2/5] mac80211: " Victor Goldenshtein
2011-09-05 12:06   ` Johannes Berg
2011-09-05 12:02 ` [RFC 3/5] nl80211/cfg80211: adding intermediate scan result event Victor Goldenshtein
2011-09-05 12:08   ` Johannes Berg
2011-09-05 12:08   ` Johannes Berg
     [not found]     ` <4E6736D9.3070804@ti.com>
2011-09-07  9:26       ` Johannes Berg
2011-09-08  6:31         ` Victor Goldenshtein
2011-09-08  6:49           ` Johannes Berg
2011-09-08  8:56             ` Victor Goldenshtein
2011-09-08  9:27               ` Johannes Berg
2011-09-08 14:39                 ` Victor Goldenshtein
2011-09-08 14:42                   ` Johannes Berg
2011-09-21 15:31           ` Jouni Malinen
2011-09-21 15:45             ` Luciano Coelho
2011-09-21 16:28               ` Victor Goldenshtein
2011-09-21 16:38                 ` Johannes Berg
2011-09-22  6:41                   ` Victor Goldenshtein
2011-09-22  6:49                     ` Luciano Coelho
2011-09-22  7:13                       ` Victor Goldenshtein
2011-09-22  7:15                         ` Luciano Coelho
2011-09-22  7:54                         ` Johannes Berg
2011-09-21  8:19   ` Victor Goldenshtein
2011-09-21  8:35     ` Johannes Berg
2011-09-21  9:03       ` Luciano Coelho
2011-09-21 10:16         ` Johannes Berg [this message]
2011-09-05 12:02 ` [RFC 4/5] mac80211: adding intermediate scan result event call Victor Goldenshtein
2011-09-05 12:02 ` [RFC 5/5] nl80211/cfg80211: adding intermediate scan result filter Victor Goldenshtein
2011-09-05 12:11   ` Johannes Berg

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=1316600161.3940.17.camel@jlt3.sipsolutions.net \
    --to=johannes@sipsolutions.net \
    --cc=coelho@ti.com \
    --cc=linux-wireless@vger.kernel.org \
    --cc=victorg@ti.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;
as well as URLs for NNTP newsgroup(s).