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

Avi Kivity avi at qumranet.com
Thu Sep 6 06:18:23 PDT 2007




[ugh, what happened to the cc-list?]

Andi Kleen wrote:
> Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w at public.gmane.org> writes:
>   
>> pte notifiers are different from paravirt_ops: they extend the normal
>> page tables rather than replace them; and they provide high-level information
>> such as the vma and the virtual address for the driver to use.
>>     
>
> Sounds like a locking horror to me.  To do anything with page tables
> you need locks. Both for the kernel page tables and for your new tables.
>
> What happens when people add all
> things of complicated operations in these notifiers? That will likely
> happen and then everytime you change something in VM code they 
> will break. This has the potential to increase the cost of maintaining
> VM code considerably, which would be a bad thing.
>
> This is quite different from paravirt ops because low level pvops
> can typically run lockless by just doing some kind of hypercall directly.
> But that won't work for maintaining your custom page tables.
>   

This is a real problem.  I don't have a solution yet.

Obviously that needs to be addressed before something like this can go 
in; but as it's been done for the quadrics driver, presumably it is doable.

-- 
Any sufficiently difficult bug is indistinguishable from a feature.






More information about the general mailing list