On Mon, Jan 27, 2014 at 10:11:40AM +0100, Alexander Graf wrote: > > 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? > > I might need a crash course in the use of HPTE_V_ABSENT. HPTE_V_ABSENT means present from the point of view of the guest but not present from the host's point of view, so yes H_READ turns HPTE_V_ABSENT into HPTE_V_VALID. Paul. -- 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