|
From: | Peter Maydell |
Subject: | Re: [Qemu-devel] [PATCH v10 22/23] target-arm: ensure all cross vCPUs TLB flushes complete |
Date: | Mon, 6 Feb 2017 16:43:46 +0000 |
On 6 February 2017 at 15:31, Alex Bennée <address@hidden> wrote: > Previously flushes on other vCPUs would only get serviced when they > exited their TranslationBlocks. While this isn't overly problematic it > violates the semantics of TLB flush from the point of view of source > vCPU. > > To solve this we call the cputlb *_all_cpus_synced() functions to do > the flushes which ensures all flushes are completed by the time the > vCPU next schedules its own work. As the TLB instructions are modelled > as CP writes the TB ends at this point meaning cpu->exit_request will > be checked before the next instruction is executed. > > Deferring the work until the architectural sync point is a possible > future optimisation. > > Signed-off-by: Alex Bennée <address@hidden> > Reviewed-by: Richard Henderson <address@hidden> > --- Reviewed-by: Peter Maydell <address@hidden> thanks -- PMM
[Prev in Thread] | Current Thread | [Next in Thread] |