[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-arm] [PATCH v10 22/23] target-arm: ensure all cross vCPUs TLB
From: |
Peter Maydell |
Subject: |
Re: [Qemu-arm] [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