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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [KVM Development]     [Libvirt Development]     [Libvirt Users]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux