Re: [PATCH 4/4] x86 paravirt_ops: binary patching infrastructure

From: Jeremy Fitzhardinge
Date: Mon Aug 07 2006 - 01:59:49 EST


Andi Kleen wrote:
+#ifdef CONFIG_PARAVIRT
+void apply_paravirt(struct paravirt_patch *start, struct paravirt_patch *end)

It would be better to merge this with the existing LOCK prefix patching
or perhaps the normal alternative() patcher (is there any particular
reason you can't use it?)

Three alternative patching mechanisms just seems to be too many

The difference is that every hypervisor wants its own patched instruction sequence, which may require a specialized patching mechanism. If you're simply patching in calls, then it isn't a big deal, but you may also want to patch in real inlined code for some operations (like sti/cli equivalents). The alternatives are to allow each backend to deal with its own patching (perhaps with common functions abstracted out as they appear), or have a common set of patching machinery which can deal with all users. The former seems simpler.

J
-
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/