[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC PATCH V6 15/18] cpu: introduce tlb_flush*_all.
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [RFC PATCH V6 15/18] cpu: introduce tlb_flush*_all. |
Date: |
Fri, 26 Jun 2015 18:54:15 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0.1 |
On 26/06/2015 18:08, Peter Maydell wrote:
>> > Yeah, ISTR that in some cases you have to wait for other CPUs to
>> > invalidate the TLB before proceeding. Maybe it's only when you have a
>> > dmb instruction, but it's probably simpler for QEMU to always do it
>> > synchronously.
> Yeah, the ARM architectural requirement here is that the TLB
> operation is complete after a DSB instruction executes. (True for
> any TLB op, not just the all-CPUs ones). NB that we also call
> tlb_flush() from target-arm/ code for some things like "we just
> updated a system register"; some of those have "must take effect
> immediately" semantics.
>
> In any case, for generic code we have to also consider the
> semantics of non-ARM guests...
I think it would be okay to make this an ARM-specific thing. In most
other architectures that I know of, TLB shootdowns are done in software
thorough IPI.
Paolo
- Re: [Qemu-devel] [RFC PATCH V6 13/18] cpu: introduce async_run_safe_work_on_cpu., (continued)
- [Qemu-devel] [RFC PATCH V6 15/18] cpu: introduce tlb_flush*_all., fred . konrad, 2015/06/26
- Re: [Qemu-devel] [RFC PATCH V6 15/18] cpu: introduce tlb_flush*_all., Paolo Bonzini, 2015/06/26
- Re: [Qemu-devel] [RFC PATCH V6 15/18] cpu: introduce tlb_flush*_all., Frederic Konrad, 2015/06/26
- Re: [Qemu-devel] [RFC PATCH V6 15/18] cpu: introduce tlb_flush*_all., Paolo Bonzini, 2015/06/26
- Re: [Qemu-devel] [RFC PATCH V6 15/18] cpu: introduce tlb_flush*_all., Peter Maydell, 2015/06/26
- Re: [Qemu-devel] [RFC PATCH V6 15/18] cpu: introduce tlb_flush*_all., Frederic Konrad, 2015/06/26
- Re: [Qemu-devel] [RFC PATCH V6 15/18] cpu: introduce tlb_flush*_all., Paolo Bonzini, 2015/06/26
- Re: [Qemu-devel] [RFC PATCH V6 15/18] cpu: introduce tlb_flush*_all., Frederic Konrad, 2015/06/26
- Re: [Qemu-devel] [RFC PATCH V6 15/18] cpu: introduce tlb_flush*_all., Paolo Bonzini, 2015/06/26
- Re: [Qemu-devel] [RFC PATCH V6 15/18] cpu: introduce tlb_flush*_all.,
Paolo Bonzini <=
[Qemu-devel] [RFC PATCH V6 17/18] translate-all: introduces tb_flush_safe., fred . konrad, 2015/06/26
[Qemu-devel] [RFC PATCH V6 18/18] translate-all: (wip) use tb_flush_safe when we can't alloc more tb., fred . konrad, 2015/06/26