From: Johannes Berg <johannes@sipsolutions.net>
To: linux-wireless@vger.kernel.org
Subject: Re: [RFC PATCH 00/12] wifi: AP side locking improvements
Date: Mon, 05 Oct 2026 10:43:49 +0200 [thread overview]
Message-ID: <0fb4ac3a33933c64b8660a5cdd1e5c357d345717.camel@sipsolutions.net> (raw)
In-Reply-To: <20261004214504.1636783-14-johannes@sipsolutions.net>
On Sun, 2026-10-04 at 23:40 +0200, Johannes Berg wrote:
> This obviously goes on top of my (fixed) RTNL redux series.
>
> The idea here is that wiphy mutex can be held for quite a bit
> of time (e.g. waiting for firmware), but beacon updates (e.g.
> with the critical update design I had proposed a long while
> back) and other things should be fast.
>
> So with this not all things require wiphy mutex. These are:
>
> - beacon and related template updates
> (this one needs driver opt-in),
> - mgmt frame TX,
> - control port TX, and
> - peer probe.
>
> This does make the implementation slightly more complex, but
> the added complexity is almost entirely in mac80211 (and some
> in cfg80211), unless a driver wants to opt in to unlocked
> beacon/template updates, which it has to implement itself for
> obvious reasons.
Thinking about this some more, there are a couple of corner cases I
don't like:
- the semantics of "only for netdevs" and the get_device() in the
implementation are strange
- because of that, we can't do this for non-AP, and NAN would benefit
If we add a refcount_t to wdevs for this, and then use wdev_hold()
instead of dev_hold() (which uses the netdev dev_hold if it's there)
then it starts working for everything and the implementation gets nicer
too.
I'll rework it accordingly for the next round.
johannes
next prev parent reply other threads:[~2026-10-05 8:43 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-04 21:40 [RFC PATCH 00/12] wifi: AP side locking improvements Johannes Berg
2026-10-04 21:40 ` [RFC PATCH 01/12] wifi: mac80211: protect AP template pointers with a spinlock Johannes Berg
2026-10-04 21:40 ` [RFC PATCH 02/12] wifi: nl80211: add NL80211_CMD_UPDATE_BEACON Johannes Berg
2026-10-04 21:40 ` [RFC PATCH 03/12] wifi: mac80211: implement lockless beacon updates Johannes Berg
2026-10-09 16:05 ` Johannes Berg
2026-10-04 21:40 ` [RFC PATCH 04/12] wifi: mac80211_hwsim: support " Johannes Berg
2026-10-04 21:40 ` [RFC PATCH 05/12] wifi: cfg80211: make cookie counter atomic Johannes Berg
2026-10-04 21:40 ` [RFC PATCH 06/12] wifi: nl80211: allow mgmt frame TX without wiphy mutex Johannes Berg
2026-10-04 21:40 ` [RFC PATCH 07/12] wifi: mac80211: refactor mgmt frames TX Johannes Berg
2026-10-04 21:40 ` [RFC PATCH 08/12] wifi: mac80211: implement mgmt_tx_unlocked() Johannes Berg
2026-10-04 21:40 ` [RFC PATCH 09/12] wifi: mac80211: don't require wiphy mutex for probe_peer Johannes Berg
2026-10-04 21:40 ` [RFC PATCH 10/12] wifi: nl80211: probe peers without wiphy mutex Johannes Berg
2026-10-04 21:40 ` [RFC PATCH 11/12] wifi: mac80211: don't require wiphy mutex for control port TX Johannes Berg
2026-10-04 21:40 ` [RFC PATCH 12/12] wifi: nl80211: transmit control port frames without wiphy mutex Johannes Berg
2026-10-05 8:43 ` Johannes Berg [this message]
2026-10-06 2:05 ` [RFC PATCH 00/12] wifi: AP side locking improvements Jeff Johnson
2026-10-06 7:14 ` Johannes Berg
2026-10-06 7:55 ` 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=0fb4ac3a33933c64b8660a5cdd1e5c357d345717.camel@sipsolutions.net \
--to=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