From mboxrd@z Thu Jan 1 00:00:00 1970 From: Xiao Guangrong Subject: Re: [PATCH v3 0/6] Optimize vcpu->requests processing Date: Mon, 24 Sep 2012 19:16:23 +0800 Message-ID: <50604107.8020105@linux.vnet.ibm.com> References: <1341853545-3023-1-git-send-email-avi@redhat.com> <505FF5E3.3070101@linux.vnet.ibm.com> <50602C80.1090102@redhat.com> <506033C7.5000903@linux.vnet.ibm.com> <50603B58.5040703@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: Marcelo Tosatti , kvm@vger.kernel.org To: Avi Kivity Return-path: Received: from e23smtp02.au.ibm.com ([202.81.31.144]:43148 "EHLO e23smtp02.au.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752892Ab2IXLQb (ORCPT ); Mon, 24 Sep 2012 07:16:31 -0400 Received: from /spool/local by e23smtp02.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Mon, 24 Sep 2012 21:14:34 +1000 Received: from d23av04.au.ibm.com (d23av04.au.ibm.com [9.190.235.139]) by d23relay04.au.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id q8OB73OZ24903768 for ; Mon, 24 Sep 2012 21:07:03 +1000 Received: from d23av04.au.ibm.com (loopback [127.0.0.1]) by d23av04.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id q8OBGPin031201 for ; Mon, 24 Sep 2012 21:16:25 +1000 In-Reply-To: <50603B58.5040703@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On 09/24/2012 06:52 PM, Avi Kivity wrote: > On 09/24/2012 12:19 PM, Xiao Guangrong wrote: >> On 09/24/2012 05:48 PM, Avi Kivity wrote: >>> On 09/24/2012 07:55 AM, Xiao Guangrong wrote: >>>> On 07/10/2012 01:05 AM, Avi Kivity wrote: >>>>> Currently, any time a request bit is set (not too uncommon) we check all of them. >>>>> This patchset optimizes the process slightly by skipping over unset bits using >>>>> for_each_set_bit(). >>>>> >>>> >>>> I also notice that kvm_check_request costs lots of cpu time. What is the status >>>> of this patchset? >>>> >>> >>> I had problems getting rid of KVM_REQ_PENDING_TIMER. I'll try again. >>> >>> In what workloads did you see kvm_check_request()? >>> >> >> Run kernbench on guest, and use perf to sample, this function is really >> hot. >> > > I don't see it at all. Westmere, 4-way guest. > This is the result i got on my laptop: # ./perf report | grep "\[kvm\]" 85.59% qemu-kvm [kvm] [k] arch_local_irq_enable 0.18% qemu-kvm [kvm] [k] kvm_arch_vcpu_ioctl_run 0.10% qemu-kvm [kvm] [k] paging64_walk_addr_generic 0.10% qemu-kvm [kvm] [k] x86_decode_insn 0.08% qemu-kvm [kvm] [k] kvm_check_request 0.06% qemu-kvm [kvm] [k] apic_clear_vector My box: i5-2540M CPU @ 2.60GHz * 4 + 4G guest: 2 vcpu + 1G