From: Johannes Berg <johannes@sipsolutions.net>
To: Michal Kazior <michal.kazior@tieto.com>
Cc: linux-wireless <linux-wireless@vger.kernel.org>,
Luca Coelho <luca@coelho.fi>,
Simon Wunderlich <sw@simonwunderlich.de>
Subject: Re: [PATCH v5] mac80211: implement multi-vif in-place reservations
Date: Tue, 06 May 2014 16:05:41 +0200 [thread overview]
Message-ID: <1399385141.4218.37.camel@jlt4.sipsolutions.net> (raw)
In-Reply-To: <CA+BoTQk1upg7yGK-QWoz8QhMeRzLBY60Lk=eUN=iQLaF2pUhQQ@mail.gmail.com> (sfid-20140506_144718_658608_A2433FAF)
On Tue, 2014-05-06 at 14:47 +0200, Michal Kazior wrote:
> > So I finally got around to discussing this with Luca and getting a
> > better understanding of what we have right now and where we're going to
> > this. Unfortunately (for you :) ) I don't think we're quite on the right
> > track between what we have and what you (and others) are doing here and
> > what we'll want.
>
> Yay! :-)
I'm guessing you're excited I finally looked at it - not that I said it
wasn't what I wanted ;-)
Sorry about that though - I'll try to be better, now that I understand
CSA. It was exactly what I was afraid of, that I'd actually have to go
sit down for a day to understand it first :-)
> So.. is my understanding correct that my patch itself stands with the
> exception of the hunk you cited that would need to be reworked to use
> the new suggested API instead of the unassign/assign trickery?
Yes. The rest of your patch is pretty small though :)
> If I consider non-chanctx drivers we would need to do:
> if (!local->chanctx) { del_chanctx(); add_chanctx(); } else {
> switch_vif_chanctx(); }
Not sure - we still need to do the right book-keeping inside mac80211 to
remove/add the chanctx around (after) the new driver operation, that
might in itself do enough. Depends on how the code is structured, I
guess. But yeah, something will probably be needed.
> Btw. Do you intend the new switch_vif_chanctx() to take over
> unassign_vif_chanctx() too?
It has to, yeah. There are two cases for the new op - the ones you
called "use_reserved_incompat" and "use_reserved_compat".
For the former, our driver will behave as though you'd called
unassign_vif_chanctx(vif, old)
delete_chanctx(old)
add_chanctx(new)
assign_vif_chanctx(vif, new)
[though other drivers may behave differently]
For the latter, drivers will behave as though you'd called
unassign_vif_chanctx(vif, old)
assign_vif_chanctx(vif, new)
[but depending on how the driver operates it'll be able to do this in a
single atomic step, similar to how mac80211 never goes through NULL in
either of these cases for the vif chanctx pointer]
> > Separately, I think due to the complexities involved in the driver
> > implementation we'll probably need a bitmap indicating which interface
> > types are supported (this is not something we do today, and this would
> > be broken in iwlwifi for sure.)
>
> Care to elaborate?
It's a separate issue really - but sure: the iwlwifi firmware API will
likely not allow doing such trickery in the IBSS case, so we should have
a bitmap of supported interface types (e.g. BIT(NL80211_IFTYPE_STATION)
| ...) for the channel switch operation.
> > As a result, I'm going to drop this patch, which likely also means your
> > other 5-patch series won't apply?
>
> Yeah (although it's probably possible to transplant part of the patch
> so the other 5 can apply).
I'll review the others now.
johannes
next prev parent reply other threads:[~2014-05-06 14:05 UTC|newest]
Thread overview: 199+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-18 13:53 [RFC 00/21] cfg80211/mac80211: multi-vif csa Michal Kazior
2014-03-18 13:53 ` [RFC 01/21] mac80211: add support for radar detection for reservations Michal Kazior
2014-03-18 13:53 ` [RFC 02/21] cfg80211: allow drivers to iterate over matching combinations Michal Kazior
2014-03-18 13:53 ` [RFC 03/21] mac80211: add max channel calculation utility function Michal Kazior
2014-03-18 16:17 ` Eliad Peller
2014-03-19 8:32 ` Michal Kazior
2014-03-19 8:43 ` Eliad Peller
2014-03-19 8:54 ` Michal Kazior
2014-03-19 10:18 ` Eliad Peller
2014-03-18 13:53 ` [RFC 04/21] mac80211: prevent chanctx overcommit Michal Kazior
2014-03-18 16:25 ` Eliad Peller
2014-03-18 13:53 ` [RFC 05/21] mac80211: track assigned vifs in chanctx Michal Kazior
2014-03-18 13:53 ` [RFC 06/21] mac80211: track reserved " Michal Kazior
2014-03-18 13:53 ` [RFC 07/21] mac80211: improve find_chanctx() for reservations Michal Kazior
2014-03-18 16:42 ` Eliad Peller
2014-03-19 8:34 ` Michal Kazior
2014-03-19 8:47 ` Eliad Peller
2014-03-19 9:00 ` Michal Kazior
2014-03-19 10:53 ` Eliad Peller
2014-03-18 13:53 ` [RFC 08/21] mac80211: improve chanctx reservation lookup Michal Kazior
2014-03-18 16:57 ` Eliad Peller
2014-03-19 8:45 ` Michal Kazior
2014-03-18 13:53 ` [RFC 09/21] mac80211: split ieee80211_new_chanctx() Michal Kazior
2014-03-18 13:53 ` [RFC 10/21] mac80211: split ieee80211_free_chanctx() Michal Kazior
2014-03-18 13:53 ` [RFC 11/21] mac80211: fix racy usage of chanctx->refcount Michal Kazior
2014-03-18 13:53 ` [RFC 12/21] mac80211: compute chanctx refcount on-the-fly Michal Kazior
2014-03-18 13:53 ` [RFC 13/21] mac80211: implement multi-vif in-place reservations Michal Kazior
2014-03-19 18:35 ` Eliad Peller
2014-03-20 7:25 ` Michal Kazior
2014-03-18 13:53 ` [RFC 14/21] mac80211: fix CSA tx queue locking Michal Kazior
2014-03-18 13:53 ` [RFC 15/21] mac80211: split CSA finalize function Michal Kazior
2014-03-18 13:53 ` [RFC 16/21] mac80211: make check_combinations() aware of chanctx reservation Michal Kazior
2014-03-18 13:53 ` [RFC 17/21] mac80211: use chanctx reservation for AP CSA Michal Kazior
2014-03-18 13:53 ` [RFC 18/21] mac80211: use chanctx reservation for STA CSA Michal Kazior
2014-03-18 13:53 ` [RFC 19/21] mac80211: ignore cqm during csa Michal Kazior
2014-03-18 13:53 ` [RFC 20/21] mac80211: remove old unused channel switching code Michal Kazior
2014-03-18 13:53 ` [RFC 21/21] cfg80211: remove channel_switch combination check Michal Kazior
2014-03-18 15:52 ` [RFC 00/21] cfg80211/mac80211: multi-vif csa Eliad Peller
2014-03-19 9:34 ` Luca Coelho
2014-03-21 13:47 ` [PATCH v2 00/13] cfg80211/mac80211: implement multi-vif chanctx reservations Michal Kazior
2014-03-21 13:47 ` [PATCH v2 01/13] cfg80211: allow drivers to iterate over matching combinations Michal Kazior
2014-03-28 13:05 ` Johannes Berg
2014-03-28 13:21 ` Michal Kazior
2014-03-28 13:22 ` Johannes Berg
2014-03-28 13:42 ` Michal Kazior
2014-03-28 13:49 ` Johannes Berg
2014-03-21 13:47 ` [PATCH v2 02/13] mac80211: add max channel calculation utility function Michal Kazior
2014-03-21 13:47 ` [PATCH v2 03/13] mac80211: prevent chanctx overcommit Michal Kazior
2014-03-25 7:59 ` Luca Coelho
2014-03-25 8:13 ` Luca Coelho
2014-03-25 8:37 ` Michal Kazior
2014-03-25 9:45 ` Luca Coelho
2014-03-21 13:47 ` [PATCH v2 04/13] mac80211: add support for radar detection for reservations Michal Kazior
2014-03-21 13:47 ` [PATCH v2 05/13] mac80211: track assigned vifs in chanctx Michal Kazior
2014-03-28 13:06 ` Johannes Berg
2014-03-21 13:47 ` [PATCH v2 06/13] mac80211: track reserved " Michal Kazior
2014-03-28 13:07 ` Johannes Berg
2014-03-21 13:47 ` [PATCH v2 07/13] mac80211: improve find_chanctx() for reservations Michal Kazior
2014-03-28 13:08 ` Johannes Berg
2014-03-28 13:32 ` Michal Kazior
2014-03-21 13:47 ` [PATCH v2 08/13] mac80211: improve chanctx reservation lookup Michal Kazior
2014-03-21 13:47 ` [PATCH v2 09/13] mac80211: split ieee80211_new_chanctx() Michal Kazior
2014-03-21 13:47 ` [PATCH v2 10/13] mac80211: split ieee80211_free_chanctx() Michal Kazior
2014-03-21 13:47 ` [PATCH v2 11/13] mac80211: fix racy usage of chanctx->refcount Michal Kazior
2014-03-21 13:47 ` [PATCH v2 12/13] mac80211: compute chanctx refcount on-the-fly Michal Kazior
2014-03-28 13:11 ` Johannes Berg
2014-03-28 13:22 ` Michal Kazior
2014-03-28 13:25 ` Johannes Berg
2014-03-21 13:47 ` [PATCH v2 13/13] mac80211: implement multi-vif in-place reservations Michal Kazior
2014-03-31 10:39 ` [PATCH v3 00/13] cfg80211/mac80211: implement multi-vif chanctx reservations Michal Kazior
2014-03-31 10:39 ` [PATCH v3 01/13] cfg80211: allow drivers to iterate over matching combinations Michal Kazior
2014-03-31 10:39 ` [PATCH v3 02/13] mac80211: add max channel calculation utility function Michal Kazior
2014-04-08 13:23 ` Johannes Berg
2014-03-31 10:39 ` [PATCH v3 03/13] mac80211: prevent chanctx overcommit Michal Kazior
2014-03-31 10:39 ` [PATCH v3 04/13] mac80211: add support for radar detection for reservations Michal Kazior
2014-04-08 13:25 ` Johannes Berg
2014-04-09 7:05 ` Michal Kazior
2014-03-31 10:39 ` [PATCH v3 05/13] mac80211: track assigned vifs in chanctx Michal Kazior
2014-03-31 10:39 ` [PATCH v3 06/13] mac80211: track reserved " Michal Kazior
2014-03-31 10:39 ` [PATCH v3 07/13] mac80211: improve find_chanctx() for reservations Michal Kazior
2014-03-31 10:39 ` [PATCH v3 08/13] mac80211: improve chanctx reservation lookup Michal Kazior
2014-03-31 10:39 ` [PATCH v3 09/13] mac80211: split ieee80211_new_chanctx() Michal Kazior
2014-03-31 10:39 ` [PATCH v3 10/13] mac80211: split ieee80211_free_chanctx() Michal Kazior
2014-03-31 10:39 ` [PATCH v3 11/13] mac80211: fix racy usage of chanctx->refcount Michal Kazior
2014-03-31 10:39 ` [PATCH v3 12/13] mac80211: compute chanctx refcount on-the-fly Michal Kazior
2014-03-31 10:39 ` [PATCH v3 13/13] mac80211: implement multi-vif in-place reservations Michal Kazior
2014-03-31 16:15 ` Eliad Peller
2014-04-01 5:10 ` Michal Kazior
2014-04-01 7:46 ` Eliad Peller
2014-04-01 7:54 ` Michal Kazior
2014-04-01 8:10 ` Eliad Peller
2014-04-01 8:26 ` Michal Kazior
2014-04-08 13:30 ` [PATCH v3 00/13] cfg80211/mac80211: implement multi-vif chanctx reservations Johannes Berg
2014-04-08 14:00 ` Luca Coelho
2014-04-09 7:07 ` Michal Kazior
2014-04-09 13:29 ` [PATCH v4 " Michal Kazior
2014-04-09 13:29 ` [PATCH v4 01/13] cfg80211: allow drivers to iterate over matching combinations Michal Kazior
2014-04-09 13:29 ` [PATCH v4 02/13] mac80211: add max channel calculation utility function Michal Kazior
2014-04-09 13:29 ` [PATCH v4 03/13] mac80211: prevent chanctx overcommit Michal Kazior
2014-04-09 13:29 ` [PATCH v4 04/13] mac80211: add support for radar detection for reservations Michal Kazior
2014-04-09 13:29 ` [PATCH v4 05/13] mac80211: track assigned vifs in chanctx Michal Kazior
2014-04-09 13:29 ` [PATCH v4 06/13] mac80211: track reserved " Michal Kazior
2014-04-09 13:29 ` [PATCH v4 07/13] mac80211: improve find_chanctx() for reservations Michal Kazior
2014-04-09 13:29 ` [PATCH v4 08/13] mac80211: improve chanctx reservation lookup Michal Kazior
2014-04-09 13:29 ` [PATCH v4 09/13] mac80211: split ieee80211_new_chanctx() Michal Kazior
2014-04-09 13:29 ` [PATCH v4 10/13] mac80211: split ieee80211_free_chanctx() Michal Kazior
2014-04-09 13:29 ` [PATCH v4 11/13] mac80211: fix racy usage of chanctx->refcount Michal Kazior
2014-04-09 13:29 ` [PATCH v4 12/13] mac80211: compute chanctx refcount on-the-fly Michal Kazior
2014-04-09 13:29 ` [PATCH v4 13/13] mac80211: implement multi-vif in-place reservations Michal Kazior
2014-04-28 16:32 ` [v4 " Zhao, Gang
2014-04-29 6:10 ` Michal Kazior
2014-04-29 19:44 ` Johannes Berg
2014-04-30 9:21 ` [PATCH v5] " Michal Kazior
2014-05-06 10:41 ` Johannes Berg
2014-05-06 12:47 ` Michal Kazior
2014-05-06 14:05 ` Johannes Berg [this message]
2014-05-07 6:05 ` Michal Kazior
2014-05-07 8:07 ` Johannes Berg
2014-05-07 8:51 ` Michal Kazior
2014-05-07 9:41 ` Luca Coelho
2014-05-07 9:40 ` Luca Coelho
2014-05-07 10:02 ` Michal Kazior
2014-05-07 10:16 ` Luca Coelho
2014-05-07 10:38 ` Michal Kazior
2014-05-07 11:09 ` Johannes Berg
2014-05-07 11:19 ` Michal Kazior
2014-05-07 11:54 ` Johannes Berg
2014-05-07 12:08 ` Luca Coelho
2014-05-07 12:13 ` Johannes Berg
2014-05-07 12:20 ` Luca Coelho
2014-05-07 12:38 ` Johannes Berg
2014-05-07 12:44 ` Michal Kazior
2014-05-07 12:53 ` Johannes Berg
2014-05-07 13:03 ` Michal Kazior
2014-05-08 10:06 ` Johannes Berg
2014-05-08 10:41 ` Michal Kazior
2014-05-13 13:42 ` Johannes Berg
2014-05-13 13:56 ` Michal Kazior
2014-05-13 15:53 ` Johannes Berg
2014-05-14 5:14 ` Michal Kazior
2014-05-14 8:25 ` Johannes Berg
2014-05-14 8:51 ` Michal Kazior
2014-05-08 10:08 ` Johannes Berg
2014-05-07 12:53 ` Luca Coelho
2014-05-07 13:06 ` Johannes Berg
2014-05-07 13:10 ` Luca Coelho
2014-05-08 10:03 ` Johannes Berg
2014-05-07 12:27 ` Michal Kazior
2014-05-07 12:36 ` Johannes Berg
2014-05-07 12:20 ` Michal Kazior
2014-05-07 12:34 ` Johannes Berg
2014-05-07 11:48 ` Luca Coelho
2014-05-07 9:27 ` Luca Coelho
2014-05-07 11:09 ` Johannes Berg
2014-05-07 11:24 ` Luca Coelho
2014-04-25 15:20 ` [PATCH v4 00/13] cfg80211/mac80211: implement multi-vif chanctx reservations Johannes Berg
2014-04-28 6:16 ` Michal Kazior
2014-03-21 13:52 ` [PATCH v2 0/7] cfg80211/mac80211: implement multi-vif csa Michal Kazior
2014-03-21 13:52 ` [PATCH v2 1/7] cfg80211: fix radar_detect combination checking Michal Kazior
2014-03-28 12:59 ` Johannes Berg
2014-03-21 13:52 ` [PATCH v2 2/7] mac80211: make check_combinations() aware of chanctx reservation Michal Kazior
2014-03-28 13:00 ` Johannes Berg
2014-03-21 13:52 ` [PATCH v2 3/7] mac80211: use chanctx reservation for AP CSA Michal Kazior
2014-03-28 13:01 ` Johannes Berg
2014-03-21 13:52 ` [PATCH v2 4/7] mac80211: use chanctx reservation for STA CSA Michal Kazior
2014-03-21 13:52 ` [PATCH v2 5/7] mac80211: ignore cqm during csa Michal Kazior
2014-03-21 13:52 ` [PATCH v2 6/7] mac80211: remove old unused channel switching code Michal Kazior
2014-03-28 13:03 ` Johannes Berg
2014-03-21 13:52 ` [PATCH v2 7/7] cfg80211: remove channel_switch combination check Michal Kazior
2014-03-31 12:04 ` [PATCH v3 0/5] cfg80211/mac80211: implement multi-vif csa Michal Kazior
2014-03-31 12:04 ` [PATCH v3 1/5] mac80211: make check_combinations() aware of chanctx reservation Michal Kazior
2014-03-31 12:04 ` [PATCH v3 2/5] mac80211: use chanctx reservation for AP CSA Michal Kazior
2014-03-31 13:12 ` Michal Kazior
2014-03-31 12:04 ` [PATCH v3 3/5] mac80211: use chanctx reservation for STA CSA Michal Kazior
2014-03-31 12:04 ` [PATCH v3 4/5] mac80211: ignore cqm during csa Michal Kazior
2014-03-31 12:04 ` [PATCH v3 5/5] cfg80211: remove channel_switch combination check Michal Kazior
2014-04-09 13:45 ` [PATCH v4 0/5] cfg80211/mac80211: implement multi-vif csa Michal Kazior
2014-04-09 13:45 ` [PATCH v4 1/5] mac80211: make check_combinations() aware of chanctx reservation Michal Kazior
2014-04-09 13:45 ` [PATCH v4 2/5] mac80211: use chanctx reservation for AP CSA Michal Kazior
2014-05-06 14:42 ` Johannes Berg
2014-05-07 7:25 ` Michal Kazior
2014-05-07 8:05 ` Johannes Berg
2014-05-07 9:05 ` Michal Kazior
2014-05-07 9:06 ` Michal Kazior
2014-05-07 9:07 ` Johannes Berg
2014-05-07 9:41 ` Michal Kazior
2014-05-07 11:17 ` Johannes Berg
2014-05-07 11:43 ` Michal Kazior
2014-05-07 11:50 ` Johannes Berg
2014-05-07 12:12 ` Michal Kazior
2014-04-09 13:45 ` [PATCH v4 3/5] mac80211: use chanctx reservation for STA CSA Michal Kazior
2014-05-06 14:43 ` Johannes Berg
2014-05-07 7:35 ` Michal Kazior
2014-05-07 8:03 ` Johannes Berg
2014-04-09 13:45 ` [PATCH v4 4/5] mac80211: ignore cqm during csa Michal Kazior
2014-05-06 14:45 ` Johannes Berg
2014-04-09 13:45 ` [PATCH v4 5/5] cfg80211: remove channel_switch combination check Michal Kazior
2014-05-06 14:45 ` Johannes Berg
2014-05-07 7:40 ` Michal Kazior
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=1399385141.4218.37.camel@jlt4.sipsolutions.net \
--to=johannes@sipsolutions.net \
--cc=linux-wireless@vger.kernel.org \
--cc=luca@coelho.fi \
--cc=michal.kazior@tieto.com \
--cc=sw@simonwunderlich.de \
/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).