Re: [patch 15/26] Xen-paravirt_ops: Add apply_to_page_range() which applies a function to a pte range.

Chris Wright
2007-03-16T16:47:27Z

* Ingo Molnar (mingo@elte.hu) wrote:
>
> * Jeremy Fitzhardinge <jeremy@goop.org> wrote:
>
> > Add a new mm function apply_to_page_range() which applies a given
> > function to every pte in a given virtual address range in a given mm
> > structure. This is a generic alternative to cut-and-pasting the Linux
> > idiomatic pagetable walking code in every place that a sequence of
> > PTEs must be accessed.
>
> nice one! I suspect we could simplify some of the less
> performance-critical open-coded pagetable walker loops in the kernel
> with this? (i'm not even sure it's all that much of a performance loss
> to pass a function pointer around - would be nice to convert say
> mprotect() to this and see the performance difference?)

We went through this before, and eventually got kick back to
keep it Xen specific. There's still some effort for generalized
walkers from the Gelato folks IIRC. And we can certainly adapt.