Re: [PATCH][RFC]: pte notifiers -- support for external page tables

Rik van Riel
2007-09-05T19:23:32Z

Avi Kivity wrote:
> Rik van Riel wrote:
>
>>> diff --git a/mm/rmap.c b/mm/rmap.c
>>> index 41ac397..3f61d38 100644
>>> --- a/mm/rmap.c
>>> +++ b/mm/rmap.c
>>> @@ -682,6 +682,7 @@ static int try_to_unmap_one(struct page *page,
>>> struct vm_area_struct *vma,
>>> }
>>>
>>> /* Nuke the page table entry. */
>>> + pte_notifier_call(vma, clear, address);
>>> flush_cache_page(vma, address, page_to_pfn(page));
>>> pteval = ptep_clear_flush(vma, address, pte);
>>
>> If you want this to be useful to Infiniband, you should probably
>> also hook up do_wp_page() in mm/memory.c, where a page table can
>> be pointed to another page.
>>
>> Probably the code in mm/mremap.c will need to be hooked up too.
>>
>
> I imagine that many of the paravirt_ops mmu hooks will need to be
> exposed as pte notifiers. This can't be done as part of the
> paravirt_ops code due to the need to pass high level data structures,
> though.

Wait, I thought that paravirt_ops was all on the side of the
guest kernel, where these host kernel operations are invisible?

--
Politics is the struggle between those who want to make their country
the best in the world, and those who believe it already is. Each group
calls the other unpatriotic.