Re: [PATCH v4 4/4] selftests: net: add a virtio_net deadlock selftest

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 23 Apr 2025 22:20:41 +0700 Bui Quang Minh wrote:
> I've tried to make the setup_xsk into each test. However, I've an issue 
> that the XDP socket destruct waits for an RCU grace period as I see this 
> sock's flag SOCK_RCU_FREE is set. So if we start the next test right 
> away, we can have the error when setting up XDP socket again because 
> previous XDP socket has not unbound the network interface's queue yet. I 
> can resolve the issue by putting the sleep(1) after closing the socket 
> in xdp_helper:
> 
> diff --git a/tools/testing/selftests/net/lib/xdp_helper.c 
> b/tools/testing/selftests/net/lib/xdp_helper.c
> index f21536ab95ba..e882bb22877f 100644
> --- a/tools/testing/selftests/net/lib/xdp_helper.c
> +++ b/tools/testing/selftests/net/lib/xdp_helper.c
> @@ -162,5 +162,6 @@ int main(int argc, char **argv)
>           */
> 
>          close(sock_fd);
> +       sleep(1);
>          return 0;
>   }
> 
> Do you think it's enough or do you have a better suggestion here?

Interesting :S What errno does the kernel return? EBUSY?
Perhaps we could loop for a second retrying the bind()
if kernel returns EBUSY in case it's just a socket waiting
to be cleaned up?





[Index of Archives]     [KVM Development]     [Libvirt Development]     [Libvirt Users]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux