> in summer, I posted some paravirt patches for amd64. In response to the 
> comments I received then, I have created some infrastructure to binary 
> patch kernel code during boot. In order to get some feedback, I am posting 
> the whole paravirt & code patching diff here. Also, KVM users may be 
> interested in trying it (hi Antoine ;).

\o/ \o/ \o/ :-)

I assume we still need this:
printf 'change paravirt0\ny\n\n0x8\nq\n'  | config -ef /bsd
under Illumos?

> The rest of the diff is paravirtualization for KVM that partially also 
> uses the code patching infrastructure. The paravirtualization stuff seems 
> to work fine and gives some nice speed-up, but it still needs plenty of 
> cleanup before it can be committed.

s/nice/huge !

> There are some paravirtualization bits that are not specific to KVM. For 
> example, I introduce a running_on_hypervisor() function and skip some 
> delays during shutdown if it returns true. I think this should work for 
> most (all?) hypervisors, though it still needs some detection logic. 
> Making it depend on the CPUIDECX_HYPERV bit should catch the most common 
> hypervisors. Is this something we could commit already in order to see if 
> it causes any problems?
> 
> Another question: Most of the infrastructure and the pointers to the code 
> that needs patching are only used at boot. Is there already a way to put 
> that into a dedicated section that is freed and reused after boot?

FWIW I've been running several iterations of this patch for the last 4/5 months 
on *all* my VMs.
It brings a ridiculous speed-up boost :-)

-- 
Antoine

Reply via email to