Subject: Re: [PATCHv4 net-next 4/4] selftests: bonding: use slowwait instead of hard code sleep

From: Hangbin Liu <[email-masked]>
Date: Mon, 5 Feb 2024 20:46:18 +0800

On Sun, Feb 04, 2024 at 08:28:58AM -0800, Jakub Kicinski wrote:
> On Sun,  4 Feb 2024 16:51:28 +0800 Hangbin Liu wrote:
> > Use slowwait instead of hard code sleep for bonding tests.
> > 
> > In function setup_prepare(), the client_create() will be called after
> > server_create(). So I think there is no need to sleep in server_create()
> > and remove it.
> > 
> > For lab_lib.sh, remove bonding module may affect other running bonding tests.
> > And some test env may buildin bond which can't be removed. The bonding
> > link should be removed by lag_reset_network() or netns delete.
> 
> Unfortunately still fails here 4/10 runs :(
> Did you try to repro with virtme-ng, --disable-kvm and many CPUs?

Yes, I use a CPU with 40 Processors. But I didn't `--disable-kvm` as I'm using
microvm. After `--disable-microvm` I can reproduce 2/10 runs.

It looks that the slowwait makes the setup too quick, which makes ping failed.
To avoid this, either we force using the previous `sleep 2`. Or wait more
interval in check_connection(), which will consume more testing time.

I tried to extend the `ping -i 0.1` to `0.2` and run the test 20 times, all
passed. But this may extend the total test time, which is contrary with the
current path's purpose. So I'm going to drop the change for bond_macvlan.

Thanks
Hangbin