Peter Maydell <peter.mayd...@linaro.org> writes:

> On 1 February 2017 at 15:05, Alex Bennée <alex.ben...@linaro.org> 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 <alex.ben...@linaro.org>
>> Reviewed-by: Richard Henderson <r...@twiddle.net>
>> ---
>>  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 <peter.mayd...@linaro.org>
>
> 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

Reply via email to