lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <fbe1bbe2-3ecb-4d9b-8571-f1da6faee98d@redhat.com>
Date: Thu, 6 Nov 2025 16:04:40 +0100
From: Paolo Abeni <pabeni@...hat.com>
To: Eric Dumazet <edumazet@...gle.com>
Cc: "David S . Miller" <davem@...emloft.net>, Jakub Kicinski
 <kuba@...nel.org>, Simon Horman <horms@...nel.org>, netdev@...r.kernel.org,
 eric.dumazet@...il.com
Subject: Re: [PATCH net-next] net: add prefetch() in skb_defer_free_flush()

On 11/6/25 10:13 AM, Eric Dumazet wrote:
> On Thu, Nov 6, 2025 at 1:05 AM Paolo Abeni <pabeni@...hat.com> wrote:
>>
>> On 11/6/25 9:55 AM, Eric Dumazet wrote:
>>> skb_defer_free_flush() is becoming more important these days.
>>>
>>> Add a prefetch operation to reduce latency a bit on some
>>> platforms like AMD EPYC 7B12.
>>>
>>> On more recent cpus, a stall happens when reading skb_shinfo().
>>> Avoiding it will require a more elaborate strategy.
>>
>> For my education, how do you catch such stalls? looking for specific
>> perf events? Or just based on cycles spent in a given function/chunk of
>> code?
> 
> In this case, I was focusing on a NIC driver handling both RX and TX
> from a single cpu.
> 
> I am using "perf record -g -C one_of_the_hot_cpu sleep 5; perf report
> --no-children"
> 
> I am working on an issue with napi_complete_skb() which has no NUMA awareness.

Many thanks for sharing!
> With the following WIP series, I can push 115 Mpps UDP packets
> (instead of 80Mpps) on IDPF.
> I need more tests before pushing it for review, but the prefetch()
> from skb_defer_free_flush()
> is a no-brainer.

FWIW, the napi_complete_skb() makes sense to me, looking forward to it!

/P


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ