From: Alex Lazar <alazar@nvidia.com>
To: Martin Karsten <mkarsten@uwaterloo.ca>,
Stanislav Fomichev <stfomichev@gmail.com>,
Joe Damato <jdamato@fastly.com>,
"aleksander.lobakin@intel.com" <aleksander.lobakin@intel.com>,
"almasrymina@google.com" <almasrymina@google.com>,
"bigeasy@linutronix.de" <bigeasy@linutronix.de>,
"bjorn@rivosinc.com" <bjorn@rivosinc.com>,
Dan Jurgens <danielj@nvidia.com>,
"davem@davemloft.net" <davem@davemloft.net>,
"donald.hunter@gmail.com" <donald.hunter@gmail.com>,
"dsahern@kernel.org" <dsahern@kernel.org>,
"edumazet@google.com" <edumazet@google.com>,
"hawk@kernel.org" <hawk@kernel.org>,
"jiri@resnulli.us" <jiri@resnulli.us>,
"johannes.berg@intel.com" <johannes.berg@intel.com>,
"kuba@kernel.org" <kuba@kernel.org>,
"leitao@debian.org" <leitao@debian.org>,
"leon@kernel.org" <leon@kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-rdma@vger.kernel.org" <linux-rdma@vger.kernel.org>,
"lorenzo@kernel.org" <lorenzo@kernel.org>,
"michael.chan@broadcom.com" <michael.chan@broadcom.com>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
"pabeni@redhat.com" <pabeni@redhat.com>,
Saeed Mahameed <saeedm@nvidia.com>,
"sdf@fomichev.me" <sdf@fomichev.me>,
"skhawaja@google.com" <skhawaja@google.com>,
"sridhar.samudrala@intel.com" <sridhar.samudrala@intel.com>,
Tariq Toukan <tariqt@nvidia.com>,
"willemdebruijn.kernel@gmail.com"
<willemdebruijn.kernel@gmail.com>,
"xuanzhuo@linux.alibaba.com" <xuanzhuo@linux.alibaba.com>,
Gal Pressman <gal@nvidia.com>, Nimrod Oren <noren@nvidia.com>,
Dror Tennenbaum <drort@nvidia.com>,
Dragos Tatulea <dtatulea@nvidia.com>
Subject: Re: [net-next v6 0/9] Add support for per-NAPI config via netlink
Date: Sun, 12 Jan 2025 08:05:17 +0000 [thread overview]
Message-ID: <38d019dd-b876-4fc1-ba7e-f1eb85ad7360@nvidia.com> (raw)
In-Reply-To: <58173312-64f0-4208-9469-7113d2f81119@uwaterloo.ca>
On 10/01/2025 20:58, Martin Karsten wrote:
> On 2025-01-10 13:26, Stanislav Fomichev wrote:
>> On 01/10, Joe Damato wrote:
>>> On Mon, Dec 30, 2024 at 09:31:23AM -0500, Joe Damato wrote:
>>>> On Mon, Dec 23, 2024 at 08:17:08AM +0000, Alex Lazar wrote:
>>>>>
>>>
>>> [...]
>>>
>>>>>
>>>>> Hi Joe,
>>>>>
>>>>> Thanks for the quick response.
>>>>> Comments inline, If you need more details or further clarification,
>>>>> please let me know.
>>>>
>>>> As mentioned above and in my previous emails: please provide lot
>>>> more detail and make it as easy as possible for me to reproduce this
>>>> issue with the simplest reproducer possible and a much more detailed
>>>> explanation.
>>>>
>>>> Please note: I will be out of the office until Jan 9 so my responses
>>>> will be limited until then.
>>>
>>> Just to follow up on this for anyone who missed the other thread,
>>> Stanislav proposed a patch which _might_ fix the issue being hit
>>> here.
>>>
>>> Please see [1], try that patch, and report back if that patch fixes
>>> the issue.
>>>
>>> Thanks.
>>>
>>> [1]: https://lore.kernel.org/netdev/20250109003436.2829560-1-
>>> sdf@fomichev.me/
>>
>> Note that it might help only if xsk is using busy-polling. Not sure
>> that's the case, it's relatively obscure feature :-)
>
> I believe I have reproduced Alex' issue using the methodology below and
> your patch fixes it for me.
>
> The experiment uses a server (tilly01) with mlx5 and a client (tilly02).
> In the problem case, the 'response' packet gets stuck, but the next
> 'request' packets triggers both the stuck and the regular responses. The
> pattern can also be seen in the tcpdump output at the client. Note that
> the response packet is not a valid packet (only MAC addresses swapped,
> not IP addresses), but tcpdump shows it regardless.
>
> Thanks,
> Martin
>
> # on server tilly01
> watch -n 0.5 "sudo ethtool -S ens2f1np1 | fgrep tx_xsk_xmit"
>
> # on client tilly02
> sudo tcpdump -qbi eno3d1 udp
>
> # on client tilly02
> while true; do
> ssh tilly01 "sudo ifconfig ens2f1np1 down; sudo modprobe -r mlx5_ib;
> sleep 1; sudo modprobe mlx5_ib; sudo ifconfig ens2f1np1 up"
> ssh -f tilly01 "sudo ./bpf-examples/AF_XDP-example/xdpsock \
> -i ens2f1np1 -N -q 4 --l2fwd -z -B >/dev/null 2>&1"
> exp=1
> for ((i=0;i<5;i++)); do
> ssh tilly01 "sudo ethtool --config-ntuple ens2f1np1 flow-type udp4\
> dst-port 19017 action 4 >/dev/null 2>&1"
> for ((j=0;j<10;j++)); do
> echo -n "$exp "
> echo 'send(IP(dst="192.168.199.1",src="192.168.199.2")\
> /UDP(dport=19017))' | sudo ./scapy/run_scapy >/dev/null 2>&1
> cnt=$(ssh tilly01 ethtool -S ens2f1np1|grep -F tx_xsk_xmit\
> |cut -f2 -d:)
> [ $cnt -eq $exp ] || {
> echo COUNTER WRONG
> read x
> }
> ((exp+=1))
> done
> ssh tilly01 sudo ethtool --config-ntuple ens2f1np1 delete 1023
> done
> echo reset
> ssh tilly01 sudo killall xdpsock
> done
>
Thanks to Joe Martin and Stanislav for introducing this fix and for your
efforts in solving this issue. I reviewed it over the weekend and
verified that it solves the problem.
Thanks,
Alex Lazar
next prev parent reply other threads:[~2025-01-12 8:05 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-18 11:22 [net-next v6 0/9] Add support for per-NAPI config via netlink Alex Lazar
2024-12-18 17:08 ` Joe Damato
2024-12-20 17:40 ` Joe Damato
2024-12-23 8:17 ` Alex Lazar
2024-12-30 14:31 ` Joe Damato
2025-01-10 18:16 ` Joe Damato
2025-01-10 18:26 ` Stanislav Fomichev
2025-01-10 18:58 ` Martin Karsten
2025-01-12 8:05 ` Alex Lazar [this message]
-- strict thread matches above, loose matches on Subject: below --
2024-10-11 18:44 Joe Damato
2024-10-15 1:10 ` patchwork-bot+netdevbpf
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=38d019dd-b876-4fc1-ba7e-f1eb85ad7360@nvidia.com \
--to=alazar@nvidia.com \
--cc=aleksander.lobakin@intel.com \
--cc=almasrymina@google.com \
--cc=bigeasy@linutronix.de \
--cc=bjorn@rivosinc.com \
--cc=danielj@nvidia.com \
--cc=davem@davemloft.net \
--cc=donald.hunter@gmail.com \
--cc=drort@nvidia.com \
--cc=dsahern@kernel.org \
--cc=dtatulea@nvidia.com \
--cc=edumazet@google.com \
--cc=gal@nvidia.com \
--cc=hawk@kernel.org \
--cc=jdamato@fastly.com \
--cc=jiri@resnulli.us \
--cc=johannes.berg@intel.com \
--cc=kuba@kernel.org \
--cc=leitao@debian.org \
--cc=leon@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rdma@vger.kernel.org \
--cc=lorenzo@kernel.org \
--cc=michael.chan@broadcom.com \
--cc=mkarsten@uwaterloo.ca \
--cc=netdev@vger.kernel.org \
--cc=noren@nvidia.com \
--cc=pabeni@redhat.com \
--cc=saeedm@nvidia.com \
--cc=sdf@fomichev.me \
--cc=skhawaja@google.com \
--cc=sridhar.samudrala@intel.com \
--cc=stfomichev@gmail.com \
--cc=tariqt@nvidia.com \
--cc=willemdebruijn.kernel@gmail.com \
--cc=xuanzhuo@linux.alibaba.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