Re: [BACKPORT PATCH 3.10..3.16] KVM: MIPS: Drop other CPU ASIDs on guest MMU changes

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

 



On Wed, Nov 09, 2016 at 10:22:01PM +0100, Jiri Slaby wrote:
> On 11/09/2016, 03:46 PM, James Hogan wrote:
> > commit 91e4f1b6073dd680d86cdb7e42d7cccca9db39d8 upstream.
> > 
> > When a guest TLB entry is replaced by TLBWI or TLBWR, we only invalidate
> > TLB entries on the local CPU. This doesn't work correctly on an SMP host
> > when the guest is migrated to a different physical CPU, as it could pick
> > up stale TLB mappings from the last time the vCPU ran on that physical
> > CPU.
> > 
> > Therefore invalidate both user and kernel host ASIDs on other CPUs,
> > which will cause new ASIDs to be generated when it next runs on those
> > CPUs.
> > 
> > We're careful only to do this if the TLB entry was already valid, and
> > only for the kernel ASID where the virtual address it mapped is outside
> > of the guest user address range.
> > 
> > Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
> > Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
> > Cc: "Radim Krčmář" <rkrcmar@xxxxxxxxxx>
> > Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
> > Cc: linux-mips@xxxxxxxxxxxxxx
> > Cc: kvm@xxxxxxxxxxxxxxx
> > Cc: <stable@xxxxxxxxxxxxxxx> # 3.10.x-
> > Cc: Jiri Slaby <jslaby@xxxxxxx>
> > [james.hogan@xxxxxxxxxx: Backport to 3.10..3.16]
> > Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
> > ---
> > Unfortunately the original commit went in to v3.12.65 as commit
> > 168e5ebbd63e, without fixing up the references to tlb_lo[0/1] to
> > tlb_lo0/1 which broke the MIPS KVM build, and I didn't twig that I
> > already had a correct backport outstanding (sorry!). That commit should
> > be reverted before applying this backport to 3.12.
> 
> Thanks, reverted and applied. I wonder the builders didn't break given 4
> mips configurations are tested. I indeed could reproduce locally.

I'm guessing malta_kvm_defconfig isn't one of those defconfigs (and the
imgtec buildbots don't yet test stable branches). Which builders do you
use?

Thanks
James

Attachment: signature.asc
Description: Digital signature


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux