From: Jakub Kicinski <kuba@kernel.org>
To: Mina Almasry <almasrymina@google.com>
Cc: Tony Nguyen <anthony.l.nguyen@intel.com>,
davem@davemloft.net, pabeni@redhat.com, edumazet@google.com,
andrew+netdev@lunn.ch, netdev@vger.kernel.org,
Alexander Lobakin <aleksander.lobakin@intel.com>,
maciej.fijalkowski@intel.com, magnus.karlsson@intel.com,
michal.kubiak@intel.com, przemyslaw.kitszel@intel.com,
ast@kernel.org, daniel@iogearbox.net, hawk@kernel.org,
john.fastabend@gmail.com, horms@kernel.org, bpf@vger.kernel.org
Subject: Re: [PATCH net-next 01/16] libeth: convert to netmem
Date: Wed, 28 May 2025 17:23:06 -0700 [thread overview]
Message-ID: <20250528172306.18c1482a@kernel.org> (raw)
In-Reply-To: <CAHS8izPope_UOF7saHHxaJSgqHWJWZvEKmp=0x6sB2OJAghqUw@mail.gmail.com>
On Tue, 27 May 2025 20:49:33 -0700 Mina Almasry wrote:
> > If you don't want to have to validate the low bit during netmem -> page
> > conversions - you need to clearly maintain the separation between
> > the two in the driver. These __netmem_to_page() calls are too much of
> > a liability.
>
> Would it make sense to add a DEBUG_NET_WARN_ON_ONCE to
> __netmem_to_page to catch misuse in a driver independent way? Or is
> that not good enough because there may be latent issues only hit in
> production where the debug is disabled.
Yes, DEBUG_NET_WARN_ON_ONCE() is not ideal. The condition may trigger
pretty rarely, and what are we saving? A single branch per packet on
a HW-GRO capable device?
Isn't the netmem vs page confusion here primarily because we want to
use the same struct to hold head and payload pages?
next prev parent reply other threads:[~2025-05-29 0:23 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-20 20:59 [PATCH net-next 00/16][pull request] libeth: add libeth_xdp helper lib Tony Nguyen
2025-05-20 20:59 ` [PATCH net-next 01/16] libeth: convert to netmem Tony Nguyen
2025-05-28 1:57 ` Jakub Kicinski
2025-05-28 3:49 ` Mina Almasry
2025-05-29 0:23 ` Jakub Kicinski [this message]
2025-05-28 14:54 ` Alexander Lobakin
2025-05-29 0:25 ` Jakub Kicinski
2025-05-20 20:59 ` [PATCH net-next 02/16] libeth: support native XDP and register memory model Tony Nguyen
2025-05-20 20:59 ` [PATCH net-next 03/16] libeth: xdp: add XDP_TX buffers sending Tony Nguyen
2025-05-28 2:03 ` Jakub Kicinski
2025-05-28 14:57 ` Alexander Lobakin
2025-05-29 0:18 ` Jakub Kicinski
2025-05-20 20:59 ` [PATCH net-next 04/16] libeth: xdp: add .ndo_xdp_xmit() helpers Tony Nguyen
2025-05-20 20:59 ` [PATCH net-next 05/16] libeth: xdp: add XDPSQE completion helpers Tony Nguyen
2025-05-20 20:59 ` [PATCH net-next 06/16] libeth: xdp: add XDPSQ locking helpers Tony Nguyen
2025-05-20 20:59 ` [PATCH net-next 07/16] libeth: xdp: add XDPSQ cleanup timers Tony Nguyen
2025-05-20 20:59 ` [PATCH net-next 08/16] libeth: xdp: add helpers for preparing/processing &libeth_xdp_buff Tony Nguyen
2025-05-20 20:59 ` [PATCH net-next 09/16] libeth: xdp: add XDP prog run and verdict result handling Tony Nguyen
2025-05-20 20:59 ` [PATCH net-next 10/16] libeth: xdp: add templates for building driver-side callbacks Tony Nguyen
2025-05-20 20:59 ` [PATCH net-next 11/16] libeth: xdp: add RSS hash hint and XDP features setup helpers Tony Nguyen
2025-05-20 20:59 ` [PATCH net-next 12/16] libeth: xsk: add XSk XDP_TX sending helpers Tony Nguyen
2025-05-20 20:59 ` [PATCH net-next 13/16] libeth: xsk: add XSk xmit functions Tony Nguyen
2025-05-20 20:59 ` [PATCH net-next 14/16] libeth: xsk: add XSk Rx processing support Tony Nguyen
2025-05-20 20:59 ` [PATCH net-next 15/16] libeth: xsk: add XSkFQ refill and XSk wakeup helpers Tony Nguyen
2025-05-20 20:59 ` [PATCH net-next 16/16] libeth: xdp, xsk: access adjacent u32s as u64 where applicable Tony Nguyen
2025-05-27 13:49 ` [PATCH net-next 00/16][pull request] libeth: add libeth_xdp helper lib Alexander Lobakin
-- strict thread matches above, loose matches on Subject: below --
2025-03-05 16:21 [PATCH net-next 00/16] idpf: add XDP support Alexander Lobakin
2025-03-05 16:21 ` [PATCH net-next 01/16] libeth: convert to netmem Alexander Lobakin
2025-03-06 0:13 ` Mina Almasry
2025-03-11 17:22 ` Alexander Lobakin
2025-03-11 17:43 ` Mina Almasry
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=20250528172306.18c1482a@kernel.org \
--to=kuba@kernel.org \
--cc=aleksander.lobakin@intel.com \
--cc=almasrymina@google.com \
--cc=andrew+netdev@lunn.ch \
--cc=anthony.l.nguyen@intel.com \
--cc=ast@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=daniel@iogearbox.net \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=hawk@kernel.org \
--cc=horms@kernel.org \
--cc=john.fastabend@gmail.com \
--cc=maciej.fijalkowski@intel.com \
--cc=magnus.karlsson@intel.com \
--cc=michal.kubiak@intel.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=przemyslaw.kitszel@intel.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).