| From c0c12ed7ed49f1cccd98225f71d66b5459850a7c Mon Sep 17 00:00:00 2001 |
| From: Willem de Bruijn <willemb@google.com> |
| Date: Wed, 5 Aug 2020 04:40:45 -0400 |
| Subject: [PATCH] selftests/net: relax cpu affinity requirement in msg_zerocopy |
| test |
| |
| commit 16f6458f2478b55e2b628797bc81a4455045c74e upstream. |
| |
| The msg_zerocopy test pins the sender and receiver threads to separate |
| cores to reduce variance between runs. |
| |
| But it hardcodes the cores and skips core 0, so it fails on machines |
| with the selected cores offline, or simply fewer cores. |
| |
| The test mainly gives code coverage in automated runs. The throughput |
| of zerocopy ('-z') and non-zerocopy runs is logged for manual |
| inspection. |
| |
| Continue even when sched_setaffinity fails. Just log to warn anyone |
| interpreting the data. |
| |
| Fixes: 07b65c5b31ce ("test: add msg_zerocopy test") |
| Reported-by: Colin Ian King <colin.king@canonical.com> |
| Signed-off-by: Willem de Bruijn <willemb@google.com> |
| Acked-by: Colin Ian King <colin.king@canonical.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/tools/testing/selftests/net/msg_zerocopy.c b/tools/testing/selftests/net/msg_zerocopy.c |
| index 4b02933cab8a..bdc03a2097e8 100644 |
| --- a/tools/testing/selftests/net/msg_zerocopy.c |
| +++ b/tools/testing/selftests/net/msg_zerocopy.c |
| @@ -125,9 +125,8 @@ static int do_setcpu(int cpu) |
| CPU_ZERO(&mask); |
| CPU_SET(cpu, &mask); |
| if (sched_setaffinity(0, sizeof(mask), &mask)) |
| - error(1, 0, "setaffinity %d", cpu); |
| - |
| - if (cfg_verbose) |
| + fprintf(stderr, "cpu: unable to pin, may increase variance.\n"); |
| + else if (cfg_verbose) |
| fprintf(stderr, "cpu: %u\n", cpu); |
| |
| return 0; |
| -- |
| 2.27.0 |
| |