KVM: PPC: Book3S PR: Reduce number of shadow PTEs invalidated by MMU notifiers
authorPaul Mackerras <paulus@samba.org>
Fri, 20 Sep 2013 04:52:54 +0000 (14:52 +1000)
committerAlexander Graf <agraf@suse.de>
Thu, 17 Oct 2013 12:49:36 +0000 (14:49 +0200)
commit491d6ecc17171518565358c2cfe33b59722d234c
tree406fdbe1f7da3b21adf7e2ccad72a1f0534471fd
parentadc0bafe00f4c7e5f052c9f29e75a072e03a19fc
KVM: PPC: Book3S PR: Reduce number of shadow PTEs invalidated by MMU notifiers

Currently, whenever any of the MMU notifier callbacks get called, we
invalidate all the shadow PTEs.  This is inefficient because it means
that we typically then get a lot of DSIs and ISIs in the guest to fault
the shadow PTEs back in.  We do this even if the address range being
notified doesn't correspond to guest memory.

This commit adds code to scan the memslot array to find out what range(s)
of guest physical addresses corresponds to the host virtual address range
being affected.  For each such range we flush only the shadow PTEs
for the range, on all cpus.

Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Alexander Graf <agraf@suse.de>
arch/powerpc/kvm/book3s_pr.c