linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Zefir Kurtisi <zefir.kurtisi@neratec.com>
To: Simon Wunderlich <simon.wunderlich@s2003.tu-chemnitz.de>
Cc: linux-wireless@vger.kernel.org,
	Thomas Pedersen <thomas@cozybit.com>,
	johannes@sipsolutions.net, antonio@open-mesh.com,
	marek@open-mesh.com,
	Mathias Kretschmer <mathias.kretschmer@fokus.fraunhofer.de>
Subject: Re: [RFC] design discussion: Collecting information for (non-peer) stations
Date: Fri, 22 Feb 2013 13:34:43 +0100	[thread overview]
Message-ID: <512765E3.5040103@neratec.com> (raw)
In-Reply-To: <20130222114340.GA11803@pandem0nium>

On 02/22/2013 12:43 PM, Simon Wunderlich wrote:
> Hello Zefir,
> [...] 
> 
> it is nice to hear that the relayfs approach works well. :)
> 
It does. Before the system was limited to 15k samples/second (with netlink), now
it can handle 50 kS/s.

> Our biggest performance issue is probably the syscall for every packet, so minimizing
> data to be sent to userspace and aggregate it to would benefit to our performance
> problem.
> 
Did not check what happens under the hood when you write to a relay buffer, but
since it is tagged as 'efficient' channel to userspace, I don't expect there is
much of an overhead issue. Needs to be verified.

> I would also agree that this approach is simpler as we don't have to manage lists
> of clients and purge them. And we can evaluation in userspace, just as everyone
> needs for its application (maybe some of these statistics are not of general interest).
> 
Right. Take the MAC address based filtering we need to have for our application.
It is not useful for most, while any statistics without that feature are worthless
to us. And we are not going to bloat kernel based statistics collection to fit
everyone's needs, I guess.

> Issues I see are:
>  * the relayfs has to be regularly polled for new data (maybe multiple times a second),
>    so it can't overflow. I'm just looking at a dump from a running iperf test, it shows
>    ~12000 packets per second (at 70Mbit/s). Assuming we are sending 64 byte of metainfo
>    per packet, this would sum up to 768k every second. Doing the statistics computation
>    in userspace makes no difference to doing it in kernelspace, imho.
See above, 50k spectral samples per second (76 bytes each) on an embedded platform
(600MHz PPC) works fine. Agree, computational overhead remains the same - if you
do it on the device itself. Think of a large installation with low profile APs
that provide this data raw over the backbone.

>  * in-kernel drivers can't use the gathered statistics (that would affect 802.11s)
Agree, if it needs to be evaluated by drivers, that's a different use-case.

Maybe the best take is to start on top of the statistics generated for in kernel
usage and forward it to userspace over the proposed relay channel.

>  * I wonder how debugfs use in mac80211 for this kind of feature is acceptable. This
>    would be a question for Johannes. :)
> 
Sounds already quite application specific to me, so I'd expect debugfs would not
be the worst location to place it ;)

> Thanks for sharing your thoughts!
> 
> Cheers,
> 	Simon
> 


  reply	other threads:[~2013-02-22 12:34 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-15 17:19 [RFC] design discussion: Collecting information for (non-peer) stations Simon Wunderlich
2013-02-18 14:30 ` Johannes Berg
2013-02-18 14:33   ` Johannes Berg
2013-02-18 14:46     ` Antonio Quartulli
2013-02-18 15:29       ` Johannes Berg
2013-02-18 15:38         ` Antonio Quartulli
2013-02-18 15:43           ` Johannes Berg
2013-02-18 15:49             ` Antonio Quartulli
2013-02-18 15:58               ` Johannes Berg
2013-02-18 16:07                 ` Antonio Quartulli
2013-02-18 16:51                   ` Johannes Berg
2013-02-18 19:36                     ` Mathias Kretschmer
2013-02-20 17:19                     ` Simon Wunderlich
2013-02-20 19:10                       ` Thomas Pedersen
2013-02-21 17:19                         ` Simon Wunderlich
2013-02-19  9:32 ` Thomas Hühn
2013-02-20 17:49   ` Simon Wunderlich
2013-02-20 18:04   ` Mathias Kretschmer
2013-02-22 10:07 ` Zefir Kurtisi
2013-02-22 11:43   ` Simon Wunderlich
2013-02-22 12:34     ` Zefir Kurtisi [this message]
2013-02-22 16:21 ` Felix Fietkau
2013-02-22 16:36   ` Antonio Quartulli
2013-02-22 17:03     ` Felix Fietkau
2013-02-22 17:42       ` Adrian Chadd
2013-02-25 10:28         ` Simon Wunderlich
2013-03-08 14:13           ` Simon Wunderlich
2013-03-11 12:01             ` Zefir Kurtisi
2013-03-25 14:43               ` Simon Wunderlich
2013-02-22 17:42       ` Thomas Pedersen

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=512765E3.5040103@neratec.com \
    --to=zefir.kurtisi@neratec.com \
    --cc=antonio@open-mesh.com \
    --cc=johannes@sipsolutions.net \
    --cc=linux-wireless@vger.kernel.org \
    --cc=marek@open-mesh.com \
    --cc=mathias.kretschmer@fokus.fraunhofer.de \
    --cc=simon.wunderlich@s2003.tu-chemnitz.de \
    --cc=thomas@cozybit.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).