Re: [PATCH net-next 0/9] Split netmem from struct page

From: Jesper Dangaard Brouer
Date: Mon Jun 16 2025 - 03:46:00 EST




On 11/06/2025 22.48, Mina Almasry wrote:
On Wed, Jun 11, 2025 at 7:24 AM Pavel Begunkov <asml.silence@xxxxxxxxx> wrote:

On 6/9/25 05:32, Byungchul Park wrote:
Hi all,

In this version, I'm posting non-controversial patches first. I will
post the rest more carefully later. In this version, no update has been
applied except excluding some patches from the previous version. See
the changes below.

fwiw, I tried it with net_iov (zcrx), it didn't blow up during a
short test.


FWIW, I ran my devmem TCP tests, and pp benchmark regression tests.
Both look good to me. For the pp benchmark:

Thanks for verifying micro-benchmarks wasn't affected by this change.

Before:

Fast path results:
no-softirq-page_pool01 Per elem: 11 cycles(tsc) 4.337 ns

ptr_ring results:
no-softirq-page_pool02 Per elem: 529 cycles(tsc) 196.073 ns

I'm surprised that ptr_ring return is this expensive on your system Mina.
I'll reply on the [v4] benchmark import patch, as this needs some more investigations.

[v4] https://lore.kernel.org/all/20250615205914.835368-1-almasrymina@xxxxxxxxxx/

slow path results:
no-softirq-page_pool03 Per elem: 554 cycles(tsc) 205.195 ns

After:

Fast path results:
no-softirq-page_pool01 Per elem: 11 cycles(tsc) 4.401 ns

ptr_ring results:
no-softirq-page_pool02 Per elem: 530 cycles(tsc) 196.443 ns

slow path results:
no-softirq-page_pool03 Per elem: 551 cycles(tsc) 204.287 ns