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

From: Avi Kivity
Date: Thu Sep 06 2007 - 09:22:54 EST





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

Andi Kleen wrote:
Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@xxxxxxxxxxxxxxxx> 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.



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/