* [Qemu-devel] [PATCH] tests: avoid running duplicate qom-tests
@ 2014-09-18 22:59 Michael Roth
2014-09-18 23:18 ` Peter Maydell
2014-09-24 8:00 ` [Qemu-devel] [Qemu-trivial] " Michael Tokarev
0 siblings, 2 replies; 3+ messages in thread
From: Michael Roth @ 2014-09-18 22:59 UTC (permalink / raw)
To: qemu-devel; +Cc: qemu-trivial, peter.maydell, afaerber
Since 3687d532 we've been unconditionally adding qom-test to our qtests
for every arch. However, some archs inherit their tests from Makefile
variables for other archs, such as i386/x86_64,
microblaze/microblazeel, and xtensa/xtensaeb. Since these are evaluated
in a lazy manner, we ultimately end up adding qom-test twice.
In the case x86_64, where we have a large number of machine types that
we rerun qom-test for, this has lead to a fairly noticeable increase
in the overall run-time of `make check` (78s vs. 42s on my machine).
Similar speed-ups are visible for other such archs, but not nearly as
significant.
Fix this by only adding qom-test to an arch's test list if it's not
already present.
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
---
tests/Makefile | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/tests/Makefile b/tests/Makefile
index a5e3d0c..9f2a35c 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -192,7 +192,8 @@ check-qtest-xtensaeb-y = $(check-qtest-xtensa-y)
# qom-test works for all sysemu architectures:
$(foreach target,$(SYSEMU_TARGET_LIST), \
- $(eval check-qtest-$(target)-y += tests/qom-test$(EXESUF)))
+ $(if $(findstring tests/qom-test$(EXESUF), $(check-qtest-$(target)-y)),, \
+ $(eval check-qtest-$(target)-y += tests/qom-test$(EXESUF))))
check-qapi-schema-y := $(addprefix tests/qapi-schema/, \
comments.json empty.json funny-char.json indented-expr.json \
--
1.9.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] [PATCH] tests: avoid running duplicate qom-tests
2014-09-18 22:59 [Qemu-devel] [PATCH] tests: avoid running duplicate qom-tests Michael Roth
@ 2014-09-18 23:18 ` Peter Maydell
2014-09-24 8:00 ` [Qemu-devel] [Qemu-trivial] " Michael Tokarev
1 sibling, 0 replies; 3+ messages in thread
From: Peter Maydell @ 2014-09-18 23:18 UTC (permalink / raw)
To: Michael Roth; +Cc: QEMU Trivial, QEMU Developers, Andreas Färber
On 18 September 2014 15:59, Michael Roth <mdroth@linux.vnet.ibm.com> wrote:
> Since 3687d532 we've been unconditionally adding qom-test to our qtests
> for every arch. However, some archs inherit their tests from Makefile
> variables for other archs, such as i386/x86_64,
> microblaze/microblazeel, and xtensa/xtensaeb. Since these are evaluated
> in a lazy manner, we ultimately end up adding qom-test twice.
>
> In the case x86_64, where we have a large number of machine types that
> we rerun qom-test for, this has lead to a fairly noticeable increase
> in the overall run-time of `make check` (78s vs. 42s on my machine).
> Similar speed-ups are visible for other such archs, but not nearly as
> significant.
>
> Fix this by only adding qom-test to an arch's test list if it's not
> already present.
>
> Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
> ---
> tests/Makefile | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/tests/Makefile b/tests/Makefile
> index a5e3d0c..9f2a35c 100644
> --- a/tests/Makefile
> +++ b/tests/Makefile
> @@ -192,7 +192,8 @@ check-qtest-xtensaeb-y = $(check-qtest-xtensa-y)
>
> # qom-test works for all sysemu architectures:
> $(foreach target,$(SYSEMU_TARGET_LIST), \
> - $(eval check-qtest-$(target)-y += tests/qom-test$(EXESUF)))
> + $(if $(findstring tests/qom-test$(EXESUF), $(check-qtest-$(target)-y)),, \
> + $(eval check-qtest-$(target)-y += tests/qom-test$(EXESUF))))
See also Andreas' suggested fix:
https://lists.gnu.org/archive/html/qemu-devel/2014-04/msg01087.html
and mine:
https://lists.gnu.org/archive/html/qemu-devel/2014-03/msg05771.html
Andreas didn't like my patch because it sorts all the tests
as a side effect, and I didn't like the hard-coded listing
of architectures in Andreas' patch. It looks like maybe your
version will satisfy both of us :-)
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
thanks
-- PMM
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] [Qemu-trivial] [PATCH] tests: avoid running duplicate qom-tests
2014-09-18 22:59 [Qemu-devel] [PATCH] tests: avoid running duplicate qom-tests Michael Roth
2014-09-18 23:18 ` Peter Maydell
@ 2014-09-24 8:00 ` Michael Tokarev
1 sibling, 0 replies; 3+ messages in thread
From: Michael Tokarev @ 2014-09-24 8:00 UTC (permalink / raw)
To: Michael Roth, qemu-devel; +Cc: qemu-trivial, peter.maydell, afaerber
Applied to -trivial, I overlooked it initially, not reading Peter's
comments thinkfully. Thank you!
/mjt
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2014-09-24 8:01 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-09-18 22:59 [Qemu-devel] [PATCH] tests: avoid running duplicate qom-tests Michael Roth
2014-09-18 23:18 ` Peter Maydell
2014-09-24 8:00 ` [Qemu-devel] [Qemu-trivial] " Michael Tokarev
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.