[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] tests/plugin: Remove duplicate insn log from libinsn.so
From: |
Alex Bennée |
Subject: |
Re: [PATCH] tests/plugin: Remove duplicate insn log from libinsn.so |
Date: |
Tue, 20 Jun 2023 13:05:07 +0100 |
User-agent: |
mu4e 1.11.6; emacs 29.0.92 |
Richard Henderson <richard.henderson@linaro.org> writes:
> On 6/19/23 19:34, Alex Bennée wrote:
>> Richard Henderson <richard.henderson@linaro.org> writes:
>>
>>> On 6/12/23 04:50, Richard Henderson wrote:
>>>> 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.
>>>
>>> Any further thoughts on this? Otherwise I'll merge it to get rid of
>>> the cross-i386-tci failure...
>>>
>>>
>>> r~
>> I'm happy to drop the feature from the plugin but the clean-up also
>> needs to be applied to the run-plugin-%-with-libinsn.so: rules for i386
>> and x86_64.
>
> Pardon? I don't know what you mean wrt changing the makefile.
There are a couple of places that do:
# non-inline runs will trigger the duplicate instruction heuristics in
libinsn.so
run-plugin-%-with-libinsn.so:
$(call run-test, $@, $(QEMU) $(QEMU_OPTS) \
-plugin ../../plugin/libinsn.so$(COMMA)inline=on \
-d plugin -D $*-with-libinsn.so.pout $*)
to prevent triggering the assert for x86
--
Alex Bennée
Virtualisation Tech Lead @ Linaro