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: 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



reply via email to

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