]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
selftests/bpf: test_sockmap, timing improvements
authorPrashant Bhole <bhole_prashant_q7@lab.ntt.co.jp>
Thu, 31 May 2018 04:42:38 +0000 (13:42 +0900)
committerDaniel Borkmann <daniel@iogearbox.net>
Sat, 2 Jun 2018 04:13:56 +0000 (06:13 +0200)
Currently 10us delay is too low for many tests to succeed. It needs to
be increased. Also, many corked tests are expected to hit rx timeout
irrespective of timeout value.

- This patch sets 1000usec timeout value for corked tests because less
than that causes broken-pipe error in tx thread. Also sets 1 second
timeout for all other tests because less than that results in RX
timeout
- tests with apply=1 and higher number of iterations were taking lot
of time. This patch reduces test run time by reducing iterations.

real    0m12.968s
user    0m0.219s
sys     0m14.337s

Fixes: a18fda1a62c3 ("bpf: reduce runtime of test_sockmap tests")
Signed-off-by: Prashant Bhole <bhole_prashant_q7@lab.ntt.co.jp>
Acked-by: John Fastabend <john.fastabend@gmail.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
tools/testing/selftests/bpf/test_sockmap.c

index 7f9ca79aadbccb7204be80f7f2192828fedf9c4b..5cd0550af595a7eb13b914e04dd4464f8aa575c6 100644 (file)
@@ -345,8 +345,13 @@ static int msg_loop(int fd, int iov_count, int iov_length, int cnt,
                if (err < 0)
                        perror("recv start time: ");
                while (s->bytes_recvd < total_bytes) {
-                       timeout.tv_sec = 0;
-                       timeout.tv_usec = 10;
+                       if (txmsg_cork) {
+                               timeout.tv_sec = 0;
+                               timeout.tv_usec = 1000;
+                       } else {
+                               timeout.tv_sec = 1;
+                               timeout.tv_usec = 0;
+                       }
 
                        /* FD sets */
                        FD_ZERO(&w);
@@ -1025,14 +1030,14 @@ static int test_send(struct sockmap_options *opt, int cgrp)
 
        opt->iov_length = 1;
        opt->iov_count = 1;
-       opt->rate = 1024;
+       opt->rate = 512;
        err = test_exec(cgrp, opt);
        if (err)
                goto out;
 
        opt->iov_length = 256;
        opt->iov_count = 1024;
-       opt->rate = 10;
+       opt->rate = 2;
        err = test_exec(cgrp, opt);
        if (err)
                goto out;