On 27.01.2014, at 11:28, Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> wrote: > Alexander Graf <agraf@xxxxxxx> writes: > >> On 21.01.2014, at 10:42, Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> wrote: >> >>> Liu Ping Fan <kernelfans@xxxxxxxxx> writes: >>> >>>> To make sure that on host, the pages marked with _PAGE_NUMA result in a fault >>>> when guest access them, we should force the checking when guest uses hypercall >>>> to setup hpte. >>>> >>>> Signed-off-by: Liu Ping Fan <pingfank@xxxxxxxxxxxxxxxxxx> >>> >>> Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> >>> >>> 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. This patch does that. >> >> So what happens next? We insert a page into the HTAB without >> HPTE_V_VALID set, so the guest will fail to use it. If the guest does >> an H_READ on it it will suddenly turn to V_VALID though? > > As per the guest the entry is valid, so yes an hread should return a > valid entry. But in real hpte we would mark it not valid. Ah, yes. > >> >> I might need a crash course in the use of HPTE_V_ABSENT. > > When guest tries to access the address, the host will handle the fault. > > kvmppc_hpte_hv_fault should give more info Thanks for the pointer. So we fault it in lazily. Is there any particular reason we can't do that on h_enter already? After all this just means an additional roundtrip because the guest is pretty likely to use the page it just entered, no? 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