Re: [PATCH net-next v3 4/4] selftests: net: udpgso_bench_tx: Cater for pending datagrams zerocopy benchmarking

From: Andrei Gherzan
Date: Tue Jan 31 2023 - 18:11:23 EST


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