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

Rik van Riel riel at redhat.com
Wed Sep 5 12:23:32 PDT 2007


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.



More information about the general mailing list