On 23/01/31 05:28PM, Willem de Bruijn wrote: > On Tue, Jan 31, 2023 at 5:16 PM Andrei Gherzan > <andrei.gherzan@xxxxxxxxxxxxx> wrote: > > > > On 23/01/31 04:51PM, Willem de Bruijn wrote: > > > On Tue, Jan 31, 2023 at 4:01 PM Andrei Gherzan > > > <andrei.gherzan@xxxxxxxxxxxxx> wrote: > > > > > > > > The test tool can check that the zerocopy number of completions value is > > > > valid taking into consideration the number of datagram send calls. This can > > > > catch the system into a state where the datagrams are still in the system > > > > (for example in a qdisk, waiting for the network interface to return a > > > > completion notification, etc). > > > > > > > > This change adds a retry logic of computing the number of completions up to > > > > a configurable (via CLI) timeout (default: 2 seconds). > > > > > > > > Fixes: 79ebc3c26010 ("net/udpgso_bench_tx: options to exercise TX CMSG") > > > > Signed-off-by: Andrei Gherzan <andrei.gherzan@xxxxxxxxxxxxx> > > > > Cc: Willem de Bruijn <willemb@xxxxxxxxxx> > > > > Cc: Paolo Abeni <pabeni@xxxxxxxxxx> > > > > --- > > > > tools/testing/selftests/net/udpgso_bench_tx.c | 34 +++++++++++++++---- > > > > 1 file changed, 27 insertions(+), 7 deletions(-) > > > > > > > > diff --git a/tools/testing/selftests/net/udpgso_bench_tx.c b/tools/testing/selftests/net/udpgso_bench_tx.c > > > > index b47b5c32039f..ef887842522a 100644 > > > > --- a/tools/testing/selftests/net/udpgso_bench_tx.c > > > > +++ b/tools/testing/selftests/net/udpgso_bench_tx.c > > > > @@ -62,6 +62,7 @@ static int cfg_payload_len = (1472 * 42); > > > > static int cfg_port = 8000; > > > > static int cfg_runtime_ms = -1; > > > > static bool cfg_poll; > > > > +static int cfg_poll_loop_timeout_ms = 2000; > > > > static bool cfg_segment; > > > > static bool cfg_sendmmsg; > > > > static bool cfg_tcp; > > > > @@ -235,16 +236,17 @@ static void flush_errqueue_recv(int fd) > > > > } > > > > } > > > > > > > > -static void flush_errqueue(int fd, const bool do_poll) > > > > +static void flush_errqueue(int fd, const bool do_poll, > > > > + unsigned long poll_timeout, const bool poll_err) > > > > > > nit: his indentation looks off though > > > > This one I've missed but I couldn't find any guidelines on it. Could you > > clarify to me what this should be or point me to soem docs? Happy to fix > > otherwise. I'm currently using vim smartindent but it is definitely not > > in line with what is here already. > > It should align with the parameter above. Found the roots of the issue - tab stop was 4 so it was rendered confusing for me. I'll fix and resend including email prefix change (net vs net next) and the CC footers (they should be Cc: not CC:). > > https://www.kernel.org/doc/html/latest/process/coding-style.html#breaking-long-lines-and-strings -- Andrei Gherzan