Thread (11 messages) flat view 11 messages, 4 authors, 2021-07-02

Re: [regression] UDP recv data corruption

From: Paolo Abeni <pabeni@redhat.com>
Date: 2021-07-02 14:06:29
Also in: regressions, stable

Hello,

On Fri, 2021-07-02 at 14:36 +0200, Matthias Treydte wrote:
And to answer Paolo's questions from his mail to the list (@Paolo: I'm  
not subscribed, please also send to me directly so I don't miss your mail)
(yup, that is what I did ?!?)
quoted
Could you please:
- tell how frequent is the pkt corruption, even a rough estimate of the
frequency.
# journalctl --since "5min ago" | grep "Packet corrupt" | wc -l
167

So there are 167 detected failures in 5 minutes, while the system is receiving
at a moderate rate of about 900 pkts/s (according to Prometheus' node exporter
at least, but seems about right)
Intersting. The relevant UDP GRO features are already off, and this
happens infrequently. Something is happening on a per packet basis, I
can't guess what.

It looks like you should be able to collect more info WRT the packet
corruption enabling debug logging at ffmpeg level, but I guess that
will flood the logfile.

If you have the kernel debuginfo and the 'perf' tool available, could
you please try:

perf probe -a 'udp_gro_receive sk sk->__sk_common.skc_dport'
perf probe -a 'udp_gro_receive_segment'

# neet to wait until at least a pkt corruption happens, 10 second
# should be more then enough
perf record -a -e probe:udp_gro_receive -e probe:udp_gro_receive_segment sleep 10

perf script | gzip > perf_script.gz

and share the above? I fear it could be too big for the ML, feel free
to send it directly to me.
Next I'll try to capture some broken packets and reply in a separate mail,
I'll have to figure out a good way to do this first.
Looks like there is corrupted packet every ~2K UDP ones. If you capture
a few thousends consecutive ones, than wireshark should probably help
finding the suspicious ones.

Thanks!

Paolo
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help