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