From: Alexander Aring <alex.aring@gmail.com>
To: Varka Bhadram <varkabhadram@gmail.com>
Cc: linux-wpan@vger.kernel.org, kernel@pengutronix.de,
phoebe.buckheister@itwm.fraunhofer.de
Subject: Re: [RFC bluetooth-next 00/15] ieee802154: add support for phy capabilities
Date: Sat, 25 Apr 2015 12:06:34 +0200 [thread overview]
Message-ID: <20150425100633.GD3395@omega> (raw)
In-Reply-To: <5539D098.1000203@gmail.com>
On Fri, Apr 24, 2015 at 10:41:52AM +0530, Varka Bhadram wrote:
...
> May be this is not the right place to ask this question.
>
creating a new mail to linux-wpan next time? And of course you can ask
this here.
> Do you think that patch at [0] required to us..?
>
no.
> That will be useful multi-queue environment. Even though
> its better to have this feature.
>
Note about tx multi-queue environment:
Wireless (802.11) != 802.15.4
802.11 follows different strategies like 802.15.4 follows [0]. "was
chartered to investigate a low data rate solution...", of course
low-power and such things. I would not say that performance isn't
important for us. (I also like to remove several shift operation in the
current frame parsing) What I am think is that a multiqueue environment
gives us not a big benefit.
Maybe I am wrong here, you can implement it and give some benchmark
tests if you want.
Another thing is that the multiqueue in wireless do implement a
priority queue (that's what I understand). So we need to have somewhere
option which sets this priority somewhere. [1]
mac802154 do that for different types of content in the payload like
video or audio streaming. They have some priority enums defined at [2].
Every queue has then a own priority.
You see that with multiqueue inside mac80211 they want to improve
different payload content like video which is a use case of the 802.11
standard. For example streaming videos with 802.15.4, you can forget that.
But then we have other things like "low energy".
This is why there is no general "IoT" wireless standard outside, each have
their benefit depends on your use case. If you want to stream videos and call
it "IoT - Application" then 802.15.4 is not what you want. I did a fast
googling and found [3], you see different wireless standards compared with
Range and data rate.
To detect a priority for _maybe_ implement such multiqueue handling in
802.15.4 then this could be dine by set it in some sockopt of 802.15.4 sockets
or grab it from DCSP field of IPv6 header, like wireless it also does [1] -
"DSCP (RFC 2474):" for 6LoWPAN then. But general this would be a benefit if you
have a lot of other _lower_ priority traffic.
It also could be that a wireless driver/transceiver can support
put frame in "transceiver queue" when current one is transmitted at the moment.
I don't know if something exists at the moment, the at86rf2xx have only
one frame buffer which cannot be overwritten while transmit (or can but
then it need to handle real time, I think we can't never support that
inside linux).
Now note about patch ("mac80211: use per-CPU TX/RX statistics")
084d8536fc4f1581f975c1a5fcacd4384555bdcf:
First I don't apply something like that if we doesn't have multiqueue tx queue
(if it really increase perfomance), because this patch fix something
which only happen in multiqueue tx queue handling.
Second: This patch is because there is an issue about increment the tx
stats on netdev while using multiqueue. So far I understand this is
because the incrementation is not an atomic operation, so this patch to
a per cpu operation to be sure that this operation "to increment the tx
stats" can be run on one cpu. So before this patch mulitple queues was
running and increment these values at the same time which result in some
inconsistent behaviour.
> If you agree include this, patch is on the way..
>
no. In short:
1. We don't have multple tx queues (and I don't think that we can get
much benefits from it).
2. The patch ("mac80211: use per-CPU TX/RX statistics")
084d8536fc4f1581f975c1a5fcacd4384555bdcf solved an issue when multiple
queues increments the counter on multicore architecture. We don't have
this issue because we have only one queue which we stop and wake before
transmit and while tx completion. The incrementation is protected by
this handling.
You should provide patches for an useful case of multiple tx queues with
benchmark results. Then we need to care about "locking", this is what
your wireless patch fix does.
- Alex
[0] http://www.ieee802.org/15/pub/TG4.html
[1] https://wireless.wiki.kernel.org/en/developers/documentation/mac80211/queues
[2] http://lxr.free-electrons.com/source/include/net/mac80211.h#L102
[3] http://blogs.freescale.com/wp-content/uploads/2014/11/post-10893-image-4-todays-wireless-landscape.jpg
[4]
next prev parent reply other threads:[~2015-04-25 10:06 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-23 16:47 [RFC bluetooth-next 00/15] ieee802154: add support for phy capabilities Alexander Aring
2015-04-23 16:47 ` [RFC bluetooth-next 01/15] nl802154: cleanup invalid argument handling Alexander Aring
2015-04-23 16:47 ` [RFC bluetooth-next 02/15] at86rf230: remove tabs after define Alexander Aring
2015-04-23 16:47 ` [RFC bluetooth-next 03/15] ieee802154: move validation check out of softmac Alexander Aring
2015-04-23 16:47 ` [RFC bluetooth-next 04/15] mac802154: check for really changes Alexander Aring
2015-04-23 16:47 ` [RFC bluetooth-next 05/15] mac802154: remove check if operation is supported Alexander Aring
2015-04-23 16:47 ` [RFC bluetooth-next 06/15] ieee802154: introduce wpan_phy_supported Alexander Aring
2015-04-23 16:47 ` [RFC bluetooth-next 07/15] ieee802154: add several phy supported handling Alexander Aring
2015-04-23 16:47 ` [RFC bluetooth-next 08/15] ieee802154: add iftypes capability Alexander Aring
2015-04-23 16:47 ` [RFC bluetooth-next 09/15] ieee802154: add support for get tx powers Alexander Aring
2015-04-27 11:49 ` Phoebe Buckheister
2015-04-29 9:07 ` Alexander Aring
2015-04-23 16:47 ` [RFC bluetooth-next 10/15] ieee802154: add support for get cca ed levels Alexander Aring
2015-04-27 11:50 ` Phoebe Buckheister
2015-04-23 16:47 ` [RFC bluetooth-next 11/15] at86rf230: set cca_modes supported flags Alexander Aring
2015-04-23 16:47 ` [RFC bluetooth-next 12/15] at86rf230: add reset states of tx power level Alexander Aring
2015-04-23 16:47 ` [RFC bluetooth-next 13/15] at86rf230: rework tx power support Alexander Aring
2015-04-23 16:47 ` [RFC bluetooth-next 14/15] at86rf230: rework tx cca energy detection level Alexander Aring
2015-04-23 16:47 ` [RFC bluetooth-next 15/15] nl802154: add support for dump phy capabilities Alexander Aring
2015-04-24 4:43 ` Varka Bhadram
2015-04-25 6:47 ` Alexander Aring
2015-04-24 3:38 ` [RFC bluetooth-next 00/15] ieee802154: add support for " Varka Bhadram
2015-04-24 5:11 ` Varka Bhadram
2015-04-25 10:06 ` Alexander Aring [this message]
2015-04-27 6:51 ` Varka Bhadram
2015-04-25 6:48 ` Alexander Aring
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=20150425100633.GD3395@omega \
--to=alex.aring@gmail.com \
--cc=kernel@pengutronix.de \
--cc=linux-wpan@vger.kernel.org \
--cc=phoebe.buckheister@itwm.fraunhofer.de \
--cc=varkabhadram@gmail.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