Re: [patch 14/26] Xen-paravirt_ops: add common patching machinery

Rusty Russell
2007-03-18T00:45:30Z

On Fri, 2007-03-16 at 10:20 +0100, Ingo Molnar wrote:
> * Jeremy Fitzhardinge <jeremy@goop.org> wrote:
>
> > Implement the actual patching machinery. paravirt_patch_default()
> > contains the logic to automatically patch a callsite based on a few
> > simple rules:
> >
> > - if the paravirt_op function is paravirt_nop, then patch nops
> > - if the paravirt_op function is a jmp target, then jmp to it
> > - if the paravirt_op function is callable and doesn't clobber too much
> > for the callsite, call it directly
> >
> > paravirt_patch_default is suitable as a default implementation of
> > paravirt_ops.patch, will remove most of the expensive indirect calls
> > in favour of either a direct call or a pile of nops.
>
> Acked-by: Ingo Molnar <mingo@elte.hu>

I like this one too, but note that it needs a twist when we change to
use direct calls to wrappers for the Great paravirt_ops Unexporting.

Rusty.