Commit a009f1f3 authored by Prashant Bhole's avatar Prashant Bhole Committed by Daniel Borkmann

selftests/bpf: test_sockmap, timing improvements

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: a18fda1a ("bpf: reduce runtime of test_sockmap tests")
Signed-off-by: default avatarPrashant Bhole <bhole_prashant_q7@lab.ntt.co.jp>
Acked-by: default avatarJohn Fastabend <john.fastabend@gmail.com>
Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
parent 035b37ff
...@@ -345,8 +345,13 @@ static int msg_loop(int fd, int iov_count, int iov_length, int cnt, ...@@ -345,8 +345,13 @@ static int msg_loop(int fd, int iov_count, int iov_length, int cnt,
if (err < 0) if (err < 0)
perror("recv start time: "); perror("recv start time: ");
while (s->bytes_recvd < total_bytes) { while (s->bytes_recvd < total_bytes) {
timeout.tv_sec = 0; if (txmsg_cork) {
timeout.tv_usec = 10; timeout.tv_sec = 0;
timeout.tv_usec = 1000;
} else {
timeout.tv_sec = 1;
timeout.tv_usec = 0;
}
/* FD sets */ /* FD sets */
FD_ZERO(&w); FD_ZERO(&w);
...@@ -1025,14 +1030,14 @@ static int test_send(struct sockmap_options *opt, int cgrp) ...@@ -1025,14 +1030,14 @@ static int test_send(struct sockmap_options *opt, int cgrp)
opt->iov_length = 1; opt->iov_length = 1;
opt->iov_count = 1; opt->iov_count = 1;
opt->rate = 1024; opt->rate = 512;
err = test_exec(cgrp, opt); err = test_exec(cgrp, opt);
if (err) if (err)
goto out; goto out;
opt->iov_length = 256; opt->iov_length = 256;
opt->iov_count = 1024; opt->iov_count = 1024;
opt->rate = 10; opt->rate = 2;
err = test_exec(cgrp, opt); err = test_exec(cgrp, opt);
if (err) if (err)
goto out; goto out;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment