From: Denis Kenzior <denkenz@gmail.com>
To: Johannes Berg <johannes@sipsolutions.net>,
"Zaborowski, Andrew" <andrew.zaborowski@intel.com>,
"linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>
Subject: Re: [PATCH][RFC] nl80211/mac80211: Rounded RSSI reporting
Date: Thu, 27 Oct 2016 13:12:48 -0500 [thread overview]
Message-ID: <581243A0.3070907@gmail.com> (raw)
In-Reply-To: <1477487137.4059.43.camel@sipsolutions.net>
Hi Johannes,
> Huh? No, beacon filtering is implemented by a lot of drivers today.
Pardon a dumb question, but can filtering be turned off? I doubt anyone
would want to, but just wondering.
>
>> The userspace switches count too and are the main motivation for this
>> patch. Eventually, as you say, things will depend on specific
>> drivers and you will want to optimise whatever you can assuming the
>> hardware you're constrained to.
>
> Yes and no. I think we can probably define a reasonable subset that
> you'd expect more devices to implement. I don't really see the
> requirement to do the "banding" that you did here offloaded - doing it
> in mac80211 won't help much, and won't work in cases where you have
> beacon filtering already anyway.
Is there anything you have in mind? Our goal is to minimize
hardware-kernel-userspace wakeups. With the nl80211 API as it is today,
it doesn't seem feasible to do anything besides polling. Whatever we
come up with will surely be better than that.
> Well, ok, technically the API can be implemented on top of drivers with
> low/high thresholds, by doing the configuration according to the
> current range you're in.
So you're thinking of having high and low threshold. So we'd get an
event when we're higher than the high threshold and lower than the low
threshold, right? Then we'd need to bootstrap our current rssi somehow,
or do we get another event? I'm guessing we're going to have some race
condition issues?
>
> I would argue though that it makes more sense to expose a simpler
> capability (e.g. two instead of the current single threshold) and do
> the reprogramming from higher layers. That ends up being more flexible,
> since you can then, for example, also have ranges that aren't all
> identical - which makes some sense because above a certain level you
> don't really care at all.
It seems like we'd be limiting ourselves here. Couple reasons that come
to mind:
- This would still require user space to keep re-setting the new
thresholds. While the wakeups are much less frequent than with polling
for example, they still add up. Scheduling userspace, processing
nl80211 messages, etc is still a cost.
- It feels like we're exposing a lowest-common-denominator API with no
possibility of offload / optimization in the future. E.g. even drivers
that can support arbitrary number of thresholds will be boxed in.
Would using an n-threshold API be possible? That way user space can
program in whatever threholds once, and then the kernel would figure out
how to support that given the relevant hardware capabilities.
>
>> In short a nl80211 change would be needed regardless of the mechanism
>> chosen.
>
> Agree. I'm just not convinced that the banding mechanism you propose is
> the most reasonable choice for new API.
>
Understood, but it was just a stab in the dark to get this discussion
started.
Regards,
-Denis
next prev parent reply other threads:[~2016-10-27 18:21 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-21 0:49 [PATCH][RFC] nl80211/mac80211: Rounded RSSI reporting Andrew Zaborowski
2016-10-21 8:30 ` Johannes Berg
2016-10-21 14:20 ` Denis Kenzior
2016-10-26 13:11 ` Johannes Berg
2016-10-21 19:03 ` Zaborowski, Andrew
2016-10-26 13:05 ` Johannes Berg
2016-10-27 18:12 ` Denis Kenzior [this message]
2016-10-27 18:42 ` 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=581243A0.3070907@gmail.com \
--to=denkenz@gmail.com \
--cc=andrew.zaborowski@intel.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 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).