[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-arm] [PATCH v9 21/25] target-arm: don't generate WFE/YIELD cal
From: |
Alex Bennée |
Subject: |
Re: [Qemu-arm] [PATCH v9 21/25] target-arm: don't generate WFE/YIELD calls for MTTCG |
Date: |
Fri, 03 Feb 2017 11:30:12 +0000 |
User-agent: |
mu4e 0.9.19; emacs 25.1.91.7 |
Peter Maydell <address@hidden> writes:
> On 1 February 2017 at 15:05, Alex Bennée <address@hidden> wrote:
>> The WFE and YIELD instructions are really only hints and in TCG's case
>> they were useful to move the scheduling on from one vCPU to the next. In
>> the parallel context (MTTCG) this just causes an unnecessary cpu_exit
>> and contention of the BQL.
>>
>> Signed-off-by: Alex Bennée <address@hidden>
>> Reviewed-by: Richard Henderson <address@hidden>
>> ---
>> target/arm/op_helper.c | 7 +++++++
>> target/arm/translate-a64.c | 8 ++++++--
>> target/arm/translate.c | 20 ++++++++++++++++----
>> 3 files changed, 29 insertions(+), 6 deletions(-)
>
> Reviewed-by: Peter Maydell <address@hidden>
>
> though I'm not much of a fan of yet another global variable :-(
It's unfortunate but I think justified in the case. parallel_cpus is a
global state that controls the emission of barriers and generation of
atomics. It does sometime get turned off for the EXCP_ATOMIC processing
(but only in a temporary exclusive region).
>
> thanks
> -- PMM
--
Alex Bennée