On 11.04.2014, at 13:45, Liu Ping Fan <pingfank@xxxxxxxxxxxxxxxxxx> wrote: > When we mark pte with _PAGE_NUMA we already call mmu_notifier_invalidate_range_start > and mmu_notifier_invalidate_range_end, which will mark existing guest hpte > entry as HPTE_V_ABSENT. Now we need to do that when we are inserting new > guest hpte entries. What happens when we don't? Why do we need the check? Why isn't it done implicitly? What happens when we treat a NUMA marked page as non-present? Why does it work out for us? Assume you have no idea what PAGE_NUMA is, but try to figure out what this patch does and whether you need to cherry-pick it into your downstream kernel. The description as is still is not very helpful for that. It doesn't even explain what really changes with this patch applied. > > Signed-off-by: Liu Ping Fan <pingfank@xxxxxxxxxxxxxxxxxx> > Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> > --- > v3: > rebased onto Alex's tree, branch kvm-ppc-next > substitue commit log with the more clear description in Aneesh's reply (thanks, Aneesh) > --- > arch/powerpc/kvm/book3s_hv_rm_mmu.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/powerpc/kvm/book3s_hv_rm_mmu.c b/arch/powerpc/kvm/book3s_hv_rm_mmu.c > index 1d6c56a..1117525 100644 > --- a/arch/powerpc/kvm/book3s_hv_rm_mmu.c > +++ b/arch/powerpc/kvm/book3s_hv_rm_mmu.c > @@ -234,7 +234,7 @@ long kvmppc_do_h_enter(struct kvm *kvm, unsigned long flags, > pte_size = psize; > pte = lookup_linux_pte_and_update(pgdir, hva, writing, > &pte_size); > - if (pte_present(pte)) { > + if (pte_present(pte)&&!pte_numa(pte)) { Spaces missing Alex -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html