Re: [PATCHv5 0/4] improve speed of "rep ins" emulation
From: Richard W.M. Jones <hidden>
Date: 2012-08-13 14:39:09
On Mon, Jul 30, 2012 at 05:38:17PM +0300, Gleb Natapov wrote:
And now for something completely different. So this series (or rather the last patch of it) takes different approach to "rep ins" optimization. Instead of writing separate fast path for it do the fast path inside emulator itself. This way nobody can say the code is not reused! Patch 1,2 are now, strictly speaking, not needed, but I think this is still nice cleanup and, in case of patch 1, eliminates some ifs at each KVM_RUN ioctl. Gleb Natapov (4): Provide userspace IO exit completion callback. KVM: emulator: make x86 emulation modes enum instead of defines KVM: emulator: string_addr_inc() cleanup KVM: emulator: optimize "rep ins" handling. arch/x86/include/asm/kvm_emulate.h | 26 +++++----- arch/x86/include/asm/kvm_host.h | 1 + arch/x86/kvm/emulate.c | 48 ++++++++++++++----- arch/x86/kvm/x86.c | 92 +++++++++++++++++++++--------------- 4 files changed, 104 insertions(+), 63 deletions(-)
I tested this patch series and it really helped to improve the performance of loading the libguestfs -kernel and -initrd: https://bugzilla.redhat.com/show_bug.cgi?id=847546 Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones virt-p2v converts physical machines to virtual machines. Boot with a live CD or over the network (PXE) and turn machines into Xen guests. http://et.redhat.com/~rjones/virt-p2v