All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dmitry Shmidt <dimitrysh@google.com>
To: Johannes Berg <johannes@sipsolutions.net>
Cc: linux-wireless@vger.kernel.org
Subject: Re: [PATCH] RFC: Universal scan proposal
Date: Mon, 5 Dec 2016 10:32:36 -0800	[thread overview]
Message-ID: <CAH7ZN-wcvoJLTr_zYMwpbjuvMBGwmNhuVYx-MuNU1pOPTf9HEA@mail.gmail.com> (raw)
In-Reply-To: <1480948100.31788.15.camel@sipsolutions.net>

Hi Johannes,

On Mon, Dec 5, 2016 at 6:28 AM, Johannes Berg <johannes@sipsolutions.net> wrote:
> Hi Dmitry,
>
> Sorry I didn't respond earlier.
>
>>    Currently we have sched scan with possibility of various
>> intervals. We would like to extend it to support also
>> different types of scan.
>
> "Different types of scan" is a bit misleading though, isn't it? I mean,
> mostly they differ in the reporting modes - the scanning itself still
> happens at "various intervals"?
>
>>    In case of powerful wlan CPU, all this functionality
>> can be offloaded.
>>    In general case FW processes additional scan requests
>> and puts them into queue based on start time and interval.
>> Once current request is fulfilled, FW adds it (if interval != 0)
>> again to the queue with proper interval. If requests are
>> overlapping, new request can be combined with either one before,
>> or one after, assuming that requests are not mutually exclusive.
>>    Combining requests is done by combining scan channels, ssids,
>> bssids and types of scan result. Once combined request was fulfilled
>> it will be reinserted as two (or three) different requests based on
>> their type and interval.
>>    Each request has attribute:
>> Type: connectivity / location
>
> I'm not super happy with this - after all, in theory nothing precludes
> using the results for one thing or the other, it's just about when and
> how they are gathered, no?

Indeed, results are results. I just want to take care of two things:
1) Memory consumption - we can clear stale scan results for connection,
but not for location if we are using history scan.
2) Use of insufficient results for connection - in case we had history
or hotlist scan only for very limited amount of channels, then we may not
have enough APs in our result for "sterling" connection decision.

> You do have a point wrt. an incomplete scan triggering something wrt.
> roaming or so in the connection manager, but I think that if it finds a
> better result there than the current connection it would make sense to
> pick it - even without full information.
>
> So ultimately, I think this might boil down to reporting the scan
> finished more accurately/precisely, rather than saying the type of
> scan?

This is intertwined with Luca's and yours point below - to use
scan by name or by description of the actions. Indeed maybe
this way is more generic and more useful.

>> Report: none / batch / immediate
>
> Not sure I see much point in "none"??
>
> Can you define these more clearly? Do you think "batch" reporting
> should be like the gscan buckets? Or actually have full information?

None - means that there is not need to report. It can be useful
in case of roaming scan, scheduling or hotlist scan - you didn't find
anything suitable - don't report that there is no scan results.
Batch - means to report only when buffer is full (or close to full) -
mostly for history scan or for example for case to report all scan
results together.

Immediate - is kind of self-explaining.

>>    Request may have priority and can be inserted into
>> the head of the queue.
>>    Types of scans:
>> - Normal scan
>> - Scheduled scan
>> - Hotlist (BSSID scan)
>> - Roaming
>> - AutoJoin
>
> I think somebody else said this but I didn't find it now - I think this
> would make more sense to define in terms of expected behaviour than use
> cases for each type of scan.

I think Luca made this statement. It is totally ok from SW point of
view - especially due to the fact that scan is scan. However,
I suspect it will be harder to handle from user experience. I mean
at the end wireless framework / driver / FW will convert special
scan type to usual scan with special params and response, but why
to put this burden on user?
Anyway, I am ok with this approach as well. If we see that it is
confusing we can use scan wrappers.

> johannes
>

  reply	other threads:[~2016-12-05 18:32 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-16 22:47 [PATCH] RFC: Universal scan proposal dimitrysh
2016-11-17 20:56 ` Arend Van Spriel
2016-11-18 23:53   ` Dmitry Shmidt
2016-11-22  7:24 ` Luca Coelho
2016-11-22 17:29   ` Dmitry Shmidt
2016-11-22 20:41     ` Arend Van Spriel
2016-11-22 20:54       ` Dmitry Shmidt
2016-11-23  8:43         ` Arend Van Spriel
2016-11-28 19:25           ` Dmitry Shmidt
2016-12-05 14:28 ` Johannes Berg
2016-12-05 18:32   ` Dmitry Shmidt [this message]
2016-12-07  6:44     ` Johannes Berg
2016-12-07 18:39       ` Dmitry Shmidt
2016-12-07 20:51         ` Arend Van Spriel
2016-12-08 22:35           ` Dmitry Shmidt
2016-12-09 11:10             ` Arend Van Spriel
2016-12-13 16:06             ` Johannes Berg
2017-01-03 20:45               ` Dmitry Shmidt
2017-01-04 13:28                 ` Johannes Berg
2017-01-04 20:32                   ` Dmitry Shmidt
2017-01-05 11:46                     ` Johannes Berg
2017-01-05 13:39                       ` Arend Van Spriel
2017-01-05 13:44                         ` Johannes Berg
2017-01-05 19:59                           ` Arend Van Spriel
2017-01-09 10:48                             ` Johannes Berg
2017-01-09 12:07                               ` Arend Van Spriel
2017-01-11 13:14                                 ` Johannes Berg
2017-01-05 20:45                       ` Dmitry Shmidt
2017-01-09 10:45                         ` Johannes Berg
2017-01-09 11:19                           ` Arend Van Spriel
2016-12-13 16:04         ` Johannes Berg
2016-12-21 10:20           ` [RFC] nl80211: allow multiple active scheduled scan requests Arend van Spriel
2017-01-02 10:44             ` Johannes Berg
2017-01-03 12:25               ` Arend Van Spriel
2017-01-04  9:59                 ` Johannes Berg
2017-01-04 10:20                   ` Arend Van Spriel
2017-01-04 10:30                     ` Johannes Berg
2017-01-04 10:34                       ` Arend Van Spriel

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=CAH7ZN-wcvoJLTr_zYMwpbjuvMBGwmNhuVYx-MuNU1pOPTf9HEA@mail.gmail.com \
    --to=dimitrysh@google.com \
    --cc=johannes@sipsolutions.net \
    --cc=linux-wireless@vger.kernel.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 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.