From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gleb Natapov Subject: [PATCHv3 0/5] improve speed of "rep ins" emulation Date: Thu, 12 Jul 2012 14:56:36 +0300 Message-ID: <1342094201-12167-1-git-send-email-gleb@redhat.com> Cc: avi@redhat.com, mtosatti@redhat.com To: kvm@vger.kernel.org Return-path: Received: from mx1.redhat.com ([209.132.183.28]:61760 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754494Ab2GLL5D (ORCPT ); Thu, 12 Jul 2012 07:57:03 -0400 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q6CBv3qv014236 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Thu, 12 Jul 2012 07:57:03 -0400 Sender: kvm-owner@vger.kernel.org List-ID: With this patches loading 100M initrd takes ~10s instead of ~40s without. Changelog: v2->v3 - Fix incorrect size parameter for linearize() notices by Marcelo. - Get rid of linearize() callback in emulation ops. v1->v2 - add segment check and mask rcx/rdi correctly drying increment. Gleb Natapov (5): KVM: Provide userspace IO exit completion callback. KVM: emulator: make x86 emulation modes enum instead of defines KVM: emulator: move some address manipulation function out of emulator code. KVM: emulator: make linearize() callable from outside of emulator KVM: Provide fast path for "rep ins" emulation if possible. arch/x86/include/asm/kvm_emulate.h | 38 +++-- arch/x86/include/asm/kvm_host.h | 32 ++++ arch/x86/kvm/emulate.c | 133 ++++++++-------- arch/x86/kvm/svm.c | 20 ++- arch/x86/kvm/vmx.c | 25 ++- arch/x86/kvm/x86.c | 305 ++++++++++++++++++++++++++++-------- 6 files changed, 395 insertions(+), 158 deletions(-) -- 1.7.10