[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: QEMU's tests/unit/test-iov times out on NetBSD and OpenBSD
From: |
Daniel P . Berrangé |
Subject: |
Re: QEMU's tests/unit/test-iov times out on NetBSD and OpenBSD |
Date: |
Fri, 19 Jan 2024 16:07:09 +0000 |
User-agent: |
Mutt/2.2.10 (2023-03-25) |
On Fri, Jan 19, 2024 at 03:55:49PM +0000, Thomas Huth wrote:
>
> Hi,
>
> since we recently introduced test timouts in QEMU's meson set up, I noticed
> that the tests/unit/test-iov times out when doing "make vm-build-netbsd
> BUILD_TARGET=check-unit" (or vm-build-openbsd).
>
> And indeed, when increasing the timeout, you can see that the test-iov runs
> for multiple minutes on these BSDs while it finishes within few seconds on
> Linux.
>
> I had a closer look at the test, and the problem seems to be the
>
> usleep(g_test_rand_int_range(0, 30));
>
> in the test_io() function. If I get that right, the usleep() seems to be
> more or less precise on (modern) Linux, but it seems like it sleeps for
> multiple milliseconds (not microseconds) on the BSDs. Since it is used in a
> nested loop, these milliseconds add up to a long time in total during the
> test.
>
> Does anybody have an idea how to fix that? Is there a more precise (but stil
> portable) way to sleep less long here? Or could we maybe remove the usleep()
> here completely (it does not seem to have a real benefit for testing as far
> as I can see)?
'g_usleep' has the same API contract, but is implemented in terms
of 'nanosleep' on *NIX. So as a quick test, try switching usleep
to g_usleep and see if we get lucky.
With regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|