On Fri, 16 Aug 2019 14:39:31 +0100 James Morse <james.morse@xxxxxxx> wrote: > Hi Mark, > > On 06/08/2019 16:57, Mark Rutland wrote: > > For VPIPT I-caches, we need I-cache maintenance on VMID rollover to > > avoid an ABA problem. Consider a single vCPU VM, with a pinned stage-2, > > running with an idmap VA->IPA and idmap IPA->PA. If we don't do > > maintenance on rollover: > > > > // VMID A > > Writes insn X to PA 0xF > > Invalidates PA 0xF (for VMID A) > > > > I$ contains [{A,F}->X] > > > > [VMID ROLLOVER] > > > > // VMID B > > Writes insn Y to PA 0xF > > Invalidates PA 0xF (for VMID B) > > > > I$ contains [{A,F}->X, {B,F}->Y] > > > > [VMID ROLLOVER] > > > > // VMID A > > I$ contains [{A,F}->X, {B,F}->Y] > > > > Unexpectedly hits stale I$ line {A,F}->X. > > > > However, for PIPT and VIPT I-caches, the VMID doesn't affect lookup or > > constrain maintenance. Given the VMID doesn't affect PIPT and VIPT > > I-caches, and given VMID rollover is independent of changes to stage-2 > > mappings, I-cache maintenance cannot be necessary on VMID rollover for > > PIPT or VIPT I-caches. > > > > This patch removes the maintenance on rollover for VIPT and PIPT > > I-caches. At the same time, the unnecessary colons are removed from the > > asm statement to make it more legible. > > Makes sense! > > Reviewed-by: James Morse <james.morse@xxxxxxx> Queued for 5.4. Thanks both. M. -- Without deviation from the norm, progress is not possible. _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/mailman/listinfo/kvmarm