From: "Théo Lebrun" <theo.lebrun@bootlin.com>
To: "Théo Lebrun" <theo.lebrun@bootlin.com>,
"Conor Dooley" <conor.dooley@microchip.com>,
"Andrew Lunn" <andrew+netdev@lunn.ch>,
"David S. Miller" <davem@davemloft.net>,
"Eric Dumazet" <edumazet@google.com>,
"Jakub Kicinski" <kuba@kernel.org>,
"Paolo Abeni" <pabeni@redhat.com>,
"Richard Cochran" <richardcochran@gmail.com>,
"Russell King" <linux@armlinux.org.uk>
Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
"Nicolas Ferre" <nicolas.ferre@microchip.com>,
"Claudiu Beznea" <claudiu.beznea@tuxon.dev>,
"Paolo Valerio" <pvalerio@redhat.com>,
"Nicolai Buchwitz" <nb@tipi-net.de>,
"Vladimir Kondratiev" <vladimir.kondratiev@mobileye.com>,
"Gregory CLEMENT" <gregory.clement@bootlin.com>,
"Benoît Monin" <benoit.monin@bootlin.com>,
"Tawfik Bayouk" <tawfik.bayouk@mobileye.com>,
"Thomas Petazzoni" <thomas.petazzoni@bootlin.com>,
"Maxime Chevallier" <maxime.chevallier@bootlin.com>
Subject: Re: [PATCH net-next v9 00/17] net: macb: implement context swapping
Date: Sat, 15 Aug 2026 11:31:06 +0200 [thread overview]
Message-ID: <DKPEVAUSS07G.39Z7NX3WYHZ5H@bootlin.com> (raw)
In-Reply-To: <20260812-macb-context-v9-0-7ddbf5f715e0@bootlin.com>
On Wed Aug 12, 2026 at 10:03 AM CEST, Théo Lebrun wrote:
> MACB has a pretty primitive approach to buffer management. They are all
> stored in `struct macb *bp`. On operations that require buffer realloc
> (set_ringparam & change_mtu at the moment), the only option is to close
> the interface, change our global state and re-open the interface.
>
> Two issues:
> - It doesn't fly on memory pressured systems; we free our precious
> buffers and don't manage to reallocate fully, meaning our machine
> just lost its network access.
> - Anecdotally, it is pretty slow because it implies a full PHY reinit.
>
> Instead, we shall:
> - allocate a new context (including buffers) first
> - if it fails, early return without any impact to the interface
> - stop interface
> - update global state (bp, netdev, etc)
> - pass newly allocated buffer pointers to the hardware
> - start interface
> - free old context
>
> This is what we implement here. Both .set_ringparam() and
> .ndo_change_mtu() are covered by this series. In the future,
> at least .set_channels() [0], XDP [1] and XSK [2] would benefit.
Sorry for the insistence, but do we have a chance of seeing this merged
before the next merge window? Context swapping is a nice feature to get
into v7.3 and it would allow us to send XDP (& XSK) series that are
dependent on context swapping.
Thanks!
Have a nice week-end,
--
Théo Lebrun, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
next prev parent reply other threads:[~2026-08-15 9:31 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-12 8:03 [PATCH net-next v9 00/17] net: macb: implement context swapping Théo Lebrun
2026-08-12 8:03 ` [PATCH net-next v9 01/17] net: macb: drop "consistent" from alloc/free function names Théo Lebrun
2026-08-12 8:03 ` [PATCH net-next v9 02/17] net: macb: unify device pointer naming convention Théo Lebrun
2026-08-12 8:03 ` [PATCH net-next v9 03/17] net: macb: unify variable naming convention in at91ether functions Théo Lebrun
2026-08-12 8:03 ` [PATCH net-next v9 04/17] net: macb: unify queue index variable naming convention and types Théo Lebrun
2026-08-12 8:03 ` [PATCH net-next v9 05/17] net: macb: enforce reverse christmas tree (RCT) convention Théo Lebrun
2026-08-12 8:03 ` [PATCH net-next v9 06/17] net: macb: allocate tieoff descriptor once across device lifetime Théo Lebrun
2026-08-12 8:03 ` [PATCH net-next v9 07/17] net: macb: refuse set_ringparam on EMAC Théo Lebrun
2026-08-12 8:03 ` [PATCH net-next v9 08/17] net: macb: introduce macb_context struct for buffer management Théo Lebrun
2026-08-12 8:03 ` [PATCH net-next v9 09/17] net: macb: avoid macb_init_rx_buffer_size() modifying state Théo Lebrun
2026-08-12 8:03 ` [PATCH net-next v9 10/17] net: macb: make `struct macb` subset reachable from macb_context struct Théo Lebrun
2026-08-12 8:03 ` [PATCH net-next v9 11/17] net: macb: change caps helpers signatures Théo Lebrun
2026-08-12 8:03 ` [PATCH net-next v9 12/17] net: macb: change function signatures to take contexts Théo Lebrun
2026-08-12 8:03 ` [PATCH net-next v9 13/17] net: macb: introduce macb_context_alloc() helper Théo Lebrun
2026-08-12 8:03 ` [PATCH net-next v9 14/17] net: macb: move printk() calls out of bp->lock critical section Théo Lebrun
2026-08-12 8:03 ` [PATCH net-next v9 15/17] net: macb: read ISR inside " Théo Lebrun
2026-08-12 8:03 ` [PATCH net-next v9 16/17] net: macb: use context swapping in .set_ringparam() Théo Lebrun
2026-08-12 8:03 ` [PATCH net-next v9 17/17] net: macb: use context swapping in .ndo_change_mtu() Théo Lebrun
2026-08-15 9:31 ` Théo Lebrun [this message]
2026-08-18 0:24 ` [PATCH net-next v9 00/17] net: macb: implement context swapping Jakub Kicinski
2026-08-18 0:30 ` patchwork-bot+netdevbpf
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=DKPEVAUSS07G.39Z7NX3WYHZ5H@bootlin.com \
--to=theo.lebrun@bootlin.com \
--cc=andrew+netdev@lunn.ch \
--cc=benoit.monin@bootlin.com \
--cc=claudiu.beznea@tuxon.dev \
--cc=conor.dooley@microchip.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=gregory.clement@bootlin.com \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=maxime.chevallier@bootlin.com \
--cc=nb@tipi-net.de \
--cc=netdev@vger.kernel.org \
--cc=nicolas.ferre@microchip.com \
--cc=pabeni@redhat.com \
--cc=pvalerio@redhat.com \
--cc=richardcochran@gmail.com \
--cc=tawfik.bayouk@mobileye.com \
--cc=thomas.petazzoni@bootlin.com \
--cc=vladimir.kondratiev@mobileye.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.