netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* mlx4: Bug in XDP_TX + 16 rx-queues
@ 2016-12-17 10:18 Martin KaFai Lau
  2016-12-18 10:31 ` Tariq Toukan
  2016-12-19 23:37 ` Martin KaFai Lau
  0 siblings, 2 replies; 9+ messages in thread
From: Martin KaFai Lau @ 2016-12-17 10:18 UTC (permalink / raw)
  To: Saeed Mahameed, Tariq Toukan; +Cc: netdev@vger.kernel.org, Alexei Starovoitov

Hi All,

I have been debugging with XDP_TX and 16 rx-queues.

1) When 16 rx-queues is used and an XDP prog is doing XDP_TX,
it seems that the packet cannot be XDP_TX out if the pkt
is received from some particular CPUs (/rx-queues).

2) If 8 rx-queues is used, it does not have problem.

3) The 16 rx-queues problem also went away after reverting these
two patches:
15fca2c8eb41 net/mlx4_en: Add ethtool statistics for XDP cases
67f8b1dcb9ee net/mlx4_en: Refactor the XDP forwarding rings scheme

4) I can reproduce the problem by running samples/bof/xdp_ip_tunnel at
the receiver side.  The sender side sends out TCP packets with
source port ranging from 1 to 1024.  At the sender side also, do
a tcpdump to capture the ip-tunnel packet reflected by xdp_ip_tunnel.
With 8 rx-queues,  I can get all 1024 packets back.  With 16 rx-queues,
I can only get 512 packets back.  It is a 40 CPUs machine.
I also checked the rx*_xdp_tx counters (from ethtool -S eth0) to ensure
the xdp prog has XDP_TX-ed it out.

Not saying that 67f8b1dcb9ee is 100% the cause because there are other
changes since then.  It is merely a brain dump on what I have already
tried.

Tariq/Saeed, any thoughts?  I can easily test some patches in
my setup.

Thanks,
--Martin

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2016-12-21 16:47 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-12-17 10:18 mlx4: Bug in XDP_TX + 16 rx-queues Martin KaFai Lau
2016-12-18 10:31 ` Tariq Toukan
2016-12-18 18:14   ` Martin KaFai Lau
2016-12-19 23:37 ` Martin KaFai Lau
2016-12-20 12:02   ` Tariq Toukan
2016-12-20 14:22     ` David Miller
2016-12-21 16:37       ` Tariq Toukan
2016-12-20 18:31     ` Martin KaFai Lau
2016-12-21 16:47       ` Tariq Toukan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).