On 9/14/20 12:50 PM, Ahmed Karaman wrote:
> On Mon, Sep 14, 2020 at 8:46 AM Philippe Mathieu-Daudé <f4...@amsat.org> 
> wrote:
>>
>> Hi Ahmed,
>>
>> On 9/14/20 12:07 AM, Ahmed Karaman wrote:
>>> Host CPU         : Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz
>>> Host Memory      : 15.49 GB
>>>
>>> Start Time (UTC) : 2020-09-13 21:35:01
>>> End Time (UTC)   : 2020-09-13 22:07:44
>>> Execution Time   : 0:32:42.230467
>>>
>>> Status           : SUCCESS
>>>
>>> Note:
>>> Changes denoted by '-----' are less than 0.01%.
>>>
>>> --------------------------------------------------------
>>>             SUMMARY REPORT - COMMIT f00f57f3
>>> --------------------------------------------------------
>>
>> (Maybe this was already commented earlier but I missed it).
>>
>> What change had a so significant impact on the m68k target?
>> At a glance I only see mostly changes in softfloat:
>>
>> $ git log --oneline v5.1.0..f00f57f3 tcg target/m68k fpu
>> fe4b0b5bfa9 tcg: Implement 256-bit dup for tcg_gen_gvec_dup_mem
>> 6a17646176e tcg: Eliminate one store for in-place 128-bit dup_mem
>> e7e8f33fb60 tcg: Fix tcg gen for vectorized absolute value
>> 5ebf5f4be66 softfloat: Define misc operations for bfloat16
>> 34f0c0a98a5 softfloat: Define convert operations for bfloat16
>> 8282310d853 softfloat: Define operations for bfloat16
>> 0d93d8ec632 softfloat: Add fp16 and uint8/int8 conversion functions
>> fbcc38e4cb1 softfloat: add xtensa specialization for pickNaNMulAdd
>> 913602e3ffe softfloat: pass float_status pointer to pickNaN
>> cc43c692511 softfloat: make NO_SIGNALING_NANS runtime property
>> 73ebe95e8e5 target/ppc: add vmulld to INDEX_op_mul_vec case
>>
>>> --------------------------------------------------------
>>> --------------------------------------------------------
>>> Test Program: matmult_double
>>> --------------------------------------------------------
>>> Target              Instructions      Latest      v5.1.0
>>> ----------  --------------------  ----------  ----------
>>> aarch64            1 412 412 599       -----     +0.311%
>>> alpha              3 233 957 639       -----     +7.472%
>>> arm                8 545 302 995       -----      +1.09%
>>> hppa               3 483 527 330       -----     +4.466%
>>> m68k               3 919 110 506       -----    +18.433%
>>> mips               2 344 641 840       -----     +4.085%
>>> mipsel             3 329 912 425       -----     +5.177%
>>> mips64             2 359 024 910       -----     +4.075%
>>> mips64el           3 343 650 686       -----     +5.166%
>>> ppc                3 209 505 701       -----     +3.248%
>>> ppc64              3 287 495 266       -----     +3.173%
>>> ppc64le            3 287 135 580       -----     +3.171%
>>> riscv64            1 221 617 903       -----     +0.278%
>>> s390x              2 874 160 417       -----     +5.826%
>>> sh4                3 544 094 841       -----      +6.42%
>>> sparc64            3 426 094 848       -----     +7.138%
>>> x86_64             1 249 076 697       -----     +0.335%
>>> --------------------------------------------------------
>> ...
>>> --------------------------------------------------------
>>> Test Program: qsort_double
>>> --------------------------------------------------------
>>> Target              Instructions      Latest      v5.1.0
>>> ----------  --------------------  ----------  ----------
>>> aarch64            2 709 839 947       -----     +2.423%
>>> alpha              1 969 432 086       -----     +3.679%
>>> arm                8 323 168 267       -----     +2.589%
>>> hppa               3 188 316 726       -----       +2.9%
>>> m68k               4 953 947 225       -----    +15.153%
>>> mips               2 123 789 120       -----     +3.049%
>>> mipsel             2 124 235 492       -----     +3.049%
>>> mips64             1 999 025 951       -----     +3.404%
>>> mips64el           1 996 433 190       -----     +3.409%
>>> ppc                2 819 299 843       -----     +5.436%
>>> ppc64              2 768 177 037       -----     +5.512%
>>> ppc64le            2 724 766 044       -----     +5.602%
>>> riscv64            1 638 324 190       -----     +4.021%
>>> s390x              2 519 117 806       -----     +3.364%
>>> sh4                2 595 696 102       -----       +3.0%
>>> sparc64            3 988 892 763       -----     +2.744%
>>> x86_64             2 033 624 062       -----     +3.242%
>>> --------------------------------------------------------
> 
> Hi Mr. Philippe,
> The performance degradation from v5.1.0 of all targets, and especially
> m68k, was introduced between the two nightly tests below:
> 
> [REPORT] Nightly Performance Tests - Thursday, August 20, 2020:
> https://lists.nongnu.org/archive/html/qemu-devel/2020-08/msg04923.html
> 
> [REPORT] Nightly Performance Tests - Saturday, August 22, 2020
> https://lists.nongnu.org/archive/html/qemu-devel/2020-08/msg05537.html
> 
> It looks like the new build system is the culprit.

Maybe we lost a build flag in that 1d806cef..66e01f1c range?
(or added a new one unconditionally).

> 
> The "bisect.py" script introduced during the "TCG Continuous
> Benchmarking" GSoC project can be very handy in these cases. I wrote
> about the tool and how to use it in the report below:
> https://ahmedkrmn.github.io/TCG-Continuous-Benchmarking/Finding-Commits-Affecting-QEMU-Performance/

Yeah, looks like the ideal tool for that.

> 
> Best regards,
> Ahmed Karaman
> 

Reply via email to