From: Paolo Valerio <pvalerio@redhat.com>
To: "Théo Lebrun" <theo.lebrun@bootlin.com>, "Andrew Lunn" <andrew@lunn.ch>
Cc: netdev@vger.kernel.org,
"Nicolas Ferre" <nicolas.ferre@microchip.com>,
"Claudiu Beznea" <claudiu.beznea@tuxon.dev>,
"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>,
"Lorenzo Bianconi" <lorenzo@kernel.org>,
"Théo Lebrun" <theo.lebrun@bootlin.com>,
"Grégory Clement" <gregory.clement@bootlin.com>,
"Thomas Petazzoni" <thomas.petazzoni@bootlin.com>
Subject: Re: [PATCH net-next 3/8] cadence: macb: Add page pool support handle multi-descriptor frame rx
Date: Tue, 27 Jan 2026 00:51:21 +0100 [thread overview]
Message-ID: <87ldhkexvq.fsf@redhat.com> (raw)
In-Reply-To: <DFYQS9RIPCSY.25SHGGC3VM2M3@bootlin.com>
On 26 Jan 2026 at 07:45:29 PM, Théo Lebrun <theo.lebrun@bootlin.com> wrote:
> On Mon Jan 26, 2026 at 3:29 PM CET, Andrew Lunn wrote:
>>> > I was more interested in plain networking, not XDP. Does it perform
>>> > better with page pool? You at least need to show it is not worse, you
>>> > need to avoid performance regressions.
>>>
>>> I retested with iperf3. The target has a single rx queue with iperf3
>>> running with no cpu affinity set.
>>>
>>> | | 64 | 128 |
>>> | baseline | 273 | 545 |
>>> | pp (page) | 273 | 544 |
>>> | pp (2 frags) | 272 | 544 |
>>
>> So no real difference. That is unusual, it is typically faster, or if
>> it is always doing line rate, it uses less CPU time. That might
>> suggest the page pool integration is not optimal?
>
> One more data point. I get line rate with & without page_pool so below
> are CPU times from /proc/stat:
>
> upstream pp
> user 1 1
> system 179 91 (!!!)
> idle 7874 7303
> softirq 35 37
>
> 16K pages on Mobileye EyeQ5 (MIPS), 7 fragments per page.
>
> Paolo shared 64 versus 128 measurements but I am unsure what those stand
> for; I doubt it can be packet size as xdp-bench does not have it as a
> parameter. https://man.archlinux.org/man/extra/xdp-tools/xdp-bench.8.en
>
64 and 128 are packet size in bytes.
For the first test I used xdp-trafficgen on the sender side and
xdp-bench (skb-mode) to count the drops in pps on my board.
For the stack test I used iperf3 (UDP) similarly with 64 and 128 for the
length option.
> Measurement incantation:
>
> cat /proc/stat > /tmp/a && \
> iperf3 -c $IP && \
> cat /proc/stat > /tmp/b && \
> awk 'NR==FNR && $1=="cpu" {user=$2;sys=$4;idle=$5;softirq=$8;next}
> $1=="cpu" {printf "user\t%5d\n", $2-user}
> $1=="cpu" {printf "system\t%5d\n", $4-sys}
> $1=="cpu" {printf "idle\t%5d\n", $5-idle}
> $1=="cpu" {printf "softirq\t%5d\n", $8-softirq}
> ' /tmp/a /tmp/b
>
> Thanks,
>
> --
> Théo Lebrun, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
next prev parent reply other threads:[~2026-01-26 23:51 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-15 22:25 [PATCH net-next 0/8] net: macb: Add XDP support and page pool integration Paolo Valerio
2026-01-15 22:25 ` [PATCH net-next 1/8] net: macb: move Rx buffers alloc from link up to open Paolo Valerio
2026-01-15 22:25 ` [PATCH net-next 2/8] net: macb: rename rx_skbuff into rx_buff Paolo Valerio
2026-01-15 22:25 ` [PATCH net-next 3/8] cadence: macb: Add page pool support handle multi-descriptor frame rx Paolo Valerio
2026-01-16 17:16 ` Andrew Lunn
2026-01-19 18:58 ` Paolo Valerio
2026-01-22 22:24 ` Paolo Valerio
2026-01-22 23:04 ` Andrew Lunn
2026-01-25 19:02 ` Paolo Valerio
2026-01-26 14:29 ` Andrew Lunn
2026-01-26 18:45 ` Théo Lebrun
2026-01-26 23:51 ` Paolo Valerio [this message]
2026-01-27 15:48 ` Théo Lebrun
2026-01-26 23:34 ` Paolo Valerio
2026-01-19 19:36 ` [net-next,3/8] " Jakub Kicinski
2026-01-22 14:39 ` Théo Lebrun
2026-01-22 15:16 ` Jakub Kicinski
2026-01-26 14:55 ` [PATCH net-next 3/8] " Théo Lebrun
2026-02-20 15:45 ` Théo Lebrun
2026-01-15 22:25 ` [PATCH net-next 4/8] cadence: macb: use the current queue number for stats Paolo Valerio
2026-01-15 22:25 ` [PATCH net-next 5/8] cadence: macb: add XDP support for gem Paolo Valerio
2026-01-19 19:36 ` [net-next,5/8] " Jakub Kicinski
2026-01-15 22:25 ` [PATCH net-next 6/8] cadence: macb: make macb_tx_skb generic Paolo Valerio
2026-01-15 22:25 ` [PATCH net-next 7/8] cadence: macb: make tx path skb agnostic Paolo Valerio
2026-01-15 22:25 ` [PATCH net-next 8/8] cadence: macb: introduce xmit support Paolo Valerio
2026-01-19 19:36 ` [net-next,8/8] " Jakub Kicinski
2026-02-02 16:31 ` [PATCH net-next 0/8] net: macb: Add XDP support and page pool integration Théo Lebrun
2026-02-13 16:57 ` [PATCH 1/6] net: macb: rename release_buff() -> macb_tx_release_buff() Théo Lebrun
2026-02-13 16:57 ` [PATCH 2/6] net: macb: drop two labels in gem_rx() Théo Lebrun
2026-02-13 16:57 ` [PATCH 3/6] net: macb: always use DMA_BIDIRECTIONAL on page pool buffers Théo Lebrun
2026-02-13 16:57 ` [PATCH 4/6] net: macb: account for stats in Rx XDP codepaths Théo Lebrun
2026-02-13 16:57 ` [PATCH 5/6] net: macb: improve Rx refill error message Théo Lebrun
2026-02-13 16:57 ` [PATCH 6/6] net: macb: rework macb_tx_complete() processing loop Théo Lebrun
2026-02-13 16:57 ` [PATCH net-next 0/8] net: macb: Add XDP support and page pool integration Théo Lebrun
2026-02-13 17:02 ` Théo Lebrun
2026-02-14 15:37 ` Paolo Valerio
2026-02-16 9:17 ` Théo Lebrun
2026-02-19 18:05 ` Paolo Valerio
2026-02-20 15:58 ` Théo Lebrun
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=87ldhkexvq.fsf@redhat.com \
--to=pvalerio@redhat.com \
--cc=andrew+netdev@lunn.ch \
--cc=andrew@lunn.ch \
--cc=claudiu.beznea@tuxon.dev \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=gregory.clement@bootlin.com \
--cc=kuba@kernel.org \
--cc=lorenzo@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=nicolas.ferre@microchip.com \
--cc=pabeni@redhat.com \
--cc=theo.lebrun@bootlin.com \
--cc=thomas.petazzoni@bootlin.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.