On Mon, Dec 6, 2021 at 3:26 PM Vladimir Sementsov-Ogievskiy <
vsement...@virtuozzo.com> wrote:

> 06.12.2021 21:37, John Snow wrote:
> >
> >
> > On Fri, Dec 3, 2021 at 7:22 AM Vladimir Sementsov-Ogievskiy <
> vsement...@virtuozzo.com <mailto:vsement...@virtuozzo.com>> wrote:
> >
> >     Hi all!
> >
> >     Finally, I can not stand it any longer. So, I'm happy to present
> >     multiprocessing support for iotests test runner.
> >
> >     testing on tmpfs:
> >
> >     Before:
> >
> >     time check -qcow2
> >     ...
> >     real    12m28.095s
> >     user    9m53.398s
> >     sys     2m55.548s
> >
> >     After:
> >
> >     time check -qcow2 -j 12
> >     ...
> >     real    2m12.136s
> >     user    12m40.948s
> >     sys     4m7.449s
> >
> >
> > VERY excellent. And this will probably flush a lot more bugs loose, too.
> (Which I consider a good thing!)
>
> Thanks!)
>
> > We could look into utilizing it for 'make check', but we'll have to be
> prepared for a greater risk of race conditions on the CI if we do. But...
> it's seriously hard to argue with this kind of optimization, very well done!
>
> I thought about this too. I think, we can at least passthrought -j flag of
> "make -j9 check" to ./check
>
> I think, CIs mostly call make check without -j flag. But I always call
> make -j9 check. And it always upset me that all tests run in parallel
> except for iotests. So if it possible to detect that we are called through
> "make -j9 check" and use "-j 9" for iotests/check in this case, it would be
> good.
>
> >
> >
> >     Hmm, seems -j 6 should be enough. I have 6 cores, 2 threads per core.
> >     Anyway, that's so fast!
> >
> >     Vladimir Sementsov-Ogievskiy (3):
> >        iotests/testrunner.py: add doc string for run_test()
> >        iotests/testrunner.py: move updating last_elapsed to run_tests
> >        iotests: check: multiprocessing support
> >
> >       tests/qemu-iotests/check         |  4 +-
> >       tests/qemu-iotests/testrunner.py | 86
> ++++++++++++++++++++++++++++----
> >       2 files changed, 80 insertions(+), 10 deletions(-)
> >
> >     --
> >     2.31.1
> >
>
>
>
I'll also now add:

Tested-by: John Snow <js...@redhat.com>

I tried to find a different workaround in just a few minutes, but that just
made it clear that your solution was right. While I had it checked out, I
ran it a few times and it looks good to me!
(And no new problems from the Python CI stuff, so it looks good to me.)

Reply via email to