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 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html