selftests: xsk: Fix socket creation retry

The socket creation retry unnecessarily registered the umem once for
every retry. No reason to do this. It wastes memory and it might lead
to too many pages being locked at some point and the failure of a
test.

Signed-off-by: Magnus Karlsson <magnus.karlsson@intel.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lore.kernel.org/bpf/20210922075613.12186-10-magnus.karlsson@gmail.com
This commit is contained in:
Magnus Karlsson 2021-09-22 09:56:09 +02:00 committed by Daniel Borkmann
parent 872a1184db
commit 89013b8a29

View File

@ -919,18 +919,17 @@ static void thread_common_ops(struct test_spec *test, struct ifobject *ifobject)
u64 umem_sz = ifobject->umem->num_frames * ifobject->umem->frame_size;
u32 ctr = 0;
void *bufs;
int ret;
bufs = mmap(NULL, umem_sz, PROT_READ | PROT_WRITE, mmap_flags, -1, 0);
if (bufs == MAP_FAILED)
exit_with_error(errno);
ret = xsk_configure_umem(&ifobject->umem_arr[i], bufs, umem_sz);
if (ret)
exit_with_error(-ret);
while (ctr++ < SOCK_RECONF_CTR) {
int ret;
ret = xsk_configure_umem(&ifobject->umem_arr[i], bufs, umem_sz);
if (ret)
exit_with_error(-ret);
ret = xsk_configure_socket(&ifobject->xsk_arr[i], &ifobject->umem_arr[i],
ifobject, i);
if (!ret)