Re: Fwd: [PATCH v9 13/16] ARM: KVM: Emulation framework and CP15 emulation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 07/17/2012 12:06 PM, Marc Zyngier wrote:
>>>>> 
>>>>> if a VM tries to do a cache maintenance operation specific to that CPU
>>>>> that traps we want to make sure that the emulation of such operations
>>>>> happen on the same physical CPU to ensure correct semantics.
>>>> 
>>>> Can you give an example of those cache maintenance operations?
>>> 
>>> When the guest does cache maintenance by set/way, these operations must occur on the local CPU, and only there.. To ensure they get propagated, we trap these, execute the operation on the current CPU and put a flag to nuke the caches on the other CPUs next time they run this vcpu.
>> 
>> Yes, but what are those cache maintenance operations?  Invalidates?  I
>> come from the x86 world where the only maintenance you do is enable the
>> cache and flush it if you change the physical memory map.
> 
> Both clean and invalidate. Most operations are coherent across CPUs,
> except when using the cache geometry. In this case, they are local to
> the CPU. Fortunately, this is a rare event (for Linux, when booting or
> resuming from suspend). All other cache ops are broacasted in HW.
> 

vcpu migration is supposed to be transparent.  What happens if you
perform the operation locally, then the vcpu is migrated?

-- 
error compiling committee.c: too many arguments to function
_______________________________________________
kvmarm mailing list
kvmarm@xxxxxxxxxxxxxxxxxxxxx
https://lists.cs.columbia.edu/cucslists/listinfo/kvmarm


[Index of Archives]     [Linux KVM]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux