Message ID | 20241217185203.297935-1-sohamch.kernel@gmail.com |
---|---|
Headers | show |
Series | selftests/net: packetdrill: import multiple tests | expand |
On 12/18/24 19:00, Jakub Kicinski wrote: > On Tue, 17 Dec 2024 18:51:57 +0000 Soham Chakradeo wrote: >> Import tests for the following features (folder names in brackets): >> ECN (ecn) : RFC 3168 >> Close (close) : RFC 9293 >> TCP_INFO (tcp_info) : RFC 9293 >> Fast recovery (fast_recovery) : RFC 5681 >> Timestamping (timestamping) : RFC 1323 >> Nagle (nagle) : RFC 896 >> Selective Acknowledgments (sack) : RFC 2018 >> Recent Timestamp (ts_recent) : RFC 1323 >> Send file (sendfile) >> Syscall bad arg (syscall_bad_arg) >> Validate (validate) >> Blocking (blocking) >> Splice (splice) >> End of record (eor) >> Limited transmit (limited_transmit) > > Excellent, thanks for adding all these! I will merge the patches > momentarily but I do see a number of flakes on our VMs with debug > configs enabled: > https://netdev.bots.linux.dev/flakes.html?min-flip=0&tn-needle=packetdrill-dbg > > In the 7 runs so far we got 2 flakes on: > > tcp-timestamping-client-only-last-byte-pkt Quickly skimming over this one, it looks like it does not account for the increased default 'tolerance_us'. Kernel packetdrill set it by default to 14K (instead of 10K IIRC). I guess this statement: // SCM_TSTAMP_SCHED for the last byte should be received almost immediately // once 10001 is acked at t=20ms. the the follow-up check should be updated accordingly. In the failures observed so far the max timestamp is > 35ms. Cheers, Paolo
Paolo Abeni wrote: > On 12/18/24 19:00, Jakub Kicinski wrote: > > On Tue, 17 Dec 2024 18:51:57 +0000 Soham Chakradeo wrote: > >> Import tests for the following features (folder names in brackets): > >> ECN (ecn) : RFC 3168 > >> Close (close) : RFC 9293 > >> TCP_INFO (tcp_info) : RFC 9293 > >> Fast recovery (fast_recovery) : RFC 5681 > >> Timestamping (timestamping) : RFC 1323 > >> Nagle (nagle) : RFC 896 > >> Selective Acknowledgments (sack) : RFC 2018 > >> Recent Timestamp (ts_recent) : RFC 1323 > >> Send file (sendfile) > >> Syscall bad arg (syscall_bad_arg) > >> Validate (validate) > >> Blocking (blocking) > >> Splice (splice) > >> End of record (eor) > >> Limited transmit (limited_transmit) > > > > Excellent, thanks for adding all these! I will merge the patches > > momentarily but I do see a number of flakes on our VMs with debug > > configs enabled: > > https://netdev.bots.linux.dev/flakes.html?min-flip=0&tn-needle=packetdrill-dbg > > > > In the 7 runs so far we got 2 flakes on: > > > > tcp-timestamping-client-only-last-byte-pkt > > Quickly skimming over this one, it looks like it does not account for > the increased default 'tolerance_us'. Kernel packetdrill set it by > default to 14K (instead of 10K IIRC). > > I guess this statement: > > // SCM_TSTAMP_SCHED for the last byte should be received almost immediately > // once 10001 is acked at t=20ms. > > the the follow-up check should be updated accordingly. In the failures > observed so far the max timestamp is > 35ms. Thanks Paolo. All three timestamping flakes are instances where the script expects the timestamp to be taken essentially instantaneously after the send call. This is not the case, and the delay is outside even the 14K tolerance. I see occurrences of 20K. At some point we cannot keep increasing the tolerance, perhaps.
On Thu, 19 Dec 2024 14:31:44 -0500 Willem de Bruijn wrote: > All three timestamping flakes are instances where the script expects > the timestamp to be taken essentially instantaneously after the send > call. > > This is not the case, and the delay is outside even the 14K tolerance. > I see occurrences of 20K. At some point we cannot keep increasing the > tolerance, perhaps. I pinned the other services away and gave the packetdrill tester its own cores. Let's see how much of a difference this makes. The net-next-2024-12-20--03-00 branch will be the first to have this.