public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Alexander Lobakin <aleksander.lobakin@intel.com>
To: Jesper Dangaard Brouer <jbrouer@redhat.com>
Cc: "Alexei Starovoitov" <ast@kernel.org>,
	"Daniel Borkmann" <daniel@iogearbox.net>,
	"Andrii Nakryiko" <andrii@kernel.org>,
	"Martin KaFai Lau" <martin.lau@linux.dev>,
	brouer@redhat.com,
	"Maciej Fijalkowski" <maciej.fijalkowski@intel.com>,
	"Larysa Zaremba" <larysa.zaremba@intel.com>,
	"Toke Høiland-Jørgensen" <toke@redhat.com>,
	"Song Liu" <song@kernel.org>,
	"Jesper Dangaard Brouer" <hawk@kernel.org>,
	"Menglong Dong" <imagedong@tencent.com>,
	"Jakub Kicinski" <kuba@kernel.org>,
	"Eric Dumazet" <edumazet@google.com>,
	bpf@vger.kernel.org, netdev@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH bpf-next v2 0/3] xdp: recycle Page Pool backed skbs built from XDP frames
Date: Fri, 10 Mar 2023 16:52:53 +0100	[thread overview]
Message-ID: <ae69c05b-7f7d-ccd2-fb52-f89b74eae2d4@intel.com> (raw)
In-Reply-To: <73b5076c-335b-c746-b227-0edd40435ef5@redhat.com>

From: Jesper Dangaard Brouer <jbrouer@redhat.com>
Date: Thu, 9 Mar 2023 17:43:51 +0100

[...]

>> Some numbers on 1 Xeon Platinum core bombed with 27 Mpps of 64-byte
>> IPv6 UDP, iavf w/XDP[0] (CONFIG_PAGE_POOL_STATS is enabled):
>>
>> Plain %XDP_PASS on baseline, Page Pool driver:
>>
>> src cpu Rx     drops  dst cpu Rx
>>    2.1 Mpps       N/A    2.1 Mpps
>>
>> cpumap redirect (w/o leaving its node) on baseline:
> 
> What does it mean "without leaving its node" ?
> I interpret this means BPF program CPU redirect to "same" CPU ?
> Or does the "node" reference a NUMA node?

Yes, NUMA node. It's a two-socket system. I redirect to a different
physical core, but within one NUMA node. When crossing nodes, results
usually are likely worse.

> 
>>
>>    6.8 Mpps  5.0 Mpps    1.8 Mpps
>>
>> cpumap redirect with skb PP recycling:
> 
> Does this test use two CPUs?

Yes, one serves interrupt / NAPI polling function and then redirects all
packets to a different core, which passes them up the stack.

These drops come from that the "source" CPU handles the queue much
faster than the "dest" one is able to process (no GRO on cpumap yet* +
software checksum computation + ...). Still faster than XDP_PASS when
one CPU does everything.

* well, there is cpumap GRO implementation in my repo, but without
hardware checksum status it's pretty useless and currently there's no
hints support in cpumap. So I didn't send it standalone (for now).

> 
>>
>>    7.9 Mpps  5.7 Mpps    2.2 Mpps
>>                         +22% (from cpumap redir on baseline)
>> [0] https://github.com/alobakin/linux/commits/iavf-xdp

[...]

Thanks,
Olek

  reply	other threads:[~2023-03-10 15:59 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-03 13:32 [PATCH bpf-next v2 0/3] xdp: recycle Page Pool backed skbs built from XDP frames Alexander Lobakin
2023-03-03 13:32 ` [PATCH bpf-next v2 1/3] net: page_pool, skbuff: make skb_mark_for_recycle() always available Alexander Lobakin
2023-03-03 13:32 ` [PATCH bpf-next v2 2/3] xdp: recycle Page Pool backed skbs built from XDP frames Alexander Lobakin
2023-03-03 13:32 ` [PATCH bpf-next v2 3/3] xdp: remove unused {__,}xdp_release_frame() Alexander Lobakin
2023-03-09 16:25 ` [PATCH bpf-next v2 0/3] xdp: recycle Page Pool backed skbs built from XDP frames Alexander Lobakin
2023-03-09 16:43 ` Jesper Dangaard Brouer
2023-03-10 15:52   ` Alexander Lobakin [this message]
2023-03-10 18:33   ` Alexei Starovoitov
2023-03-10 20:10     ` Alexander Lobakin

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=ae69c05b-7f7d-ccd2-fb52-f89b74eae2d4@intel.com \
    --to=aleksander.lobakin@intel.com \
    --cc=andrii@kernel.org \
    --cc=ast@kernel.org \
    --cc=bpf@vger.kernel.org \
    --cc=brouer@redhat.com \
    --cc=daniel@iogearbox.net \
    --cc=edumazet@google.com \
    --cc=hawk@kernel.org \
    --cc=imagedong@tencent.com \
    --cc=jbrouer@redhat.com \
    --cc=kuba@kernel.org \
    --cc=larysa.zaremba@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maciej.fijalkowski@intel.com \
    --cc=martin.lau@linux.dev \
    --cc=netdev@vger.kernel.org \
    --cc=song@kernel.org \
    --cc=toke@redhat.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