qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH] tests/plugin: Remove duplicate insn log from libinsn.so


From: Richard Henderson
Subject: Re: [PATCH] tests/plugin: Remove duplicate insn log from libinsn.so
Date: Sun, 11 Jun 2023 19:50:28 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.11.0

On 6/11/23 02:14, Alex Bennée wrote:

Richard Henderson <richard.henderson@linaro.org> writes:

This is a perfectly natural occurrence for x86 "rep movb",
where the "rep" prefix forms a counted loop of the one insn.

During the tests/tcg/multiarch/memory test, this logging is
triggered over 350000 times.  Within the context of cross-i386-tci
build, which is already slow by nature, the logging is sufficient
to push the test into timeout.

How does this get triggered because I added these:

# non-inline runs will trigger the duplicate instruction heuristics in 
libinsn.so
run-plugin-%-with-libinsn.so:
        $(call run-test, $@, \
          $(QEMU) -monitor none -display none \
                  -chardev file$(COMMA)path=$@.out$(COMMA)id=output \
                   -plugin ../../plugin/libinsn.so$(COMMA)inline=on \
                  -d plugin -D $*-with-libinsn.so.pout \
                  $(QEMU_OPTS) $*)

to prevent the callback versions from being called for x86. The original
intent of the check was to detect failures due to cpu_io_recompile, see
e025d799af (tests/plugin: expand insn test to detect duplicate instructions)

I have no idea how, but it's happening.


Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
Irritatingly, it doesn't timeout locally, so I used staging to double-check:

Fail: https://gitlab.com/qemu-project/qemu/-/jobs/4450754282#L5062
Pass: https://gitlab.com/qemu-project/qemu/-/jobs/4450927108

Note that in the pass case, we don't even log that the test ran.


r~



reply via email to

[Prev in Thread] Current Thread [Next in Thread]