From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59220) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aRGzL-0006nv-LZ for qemu-devel@nongnu.org; Thu, 04 Feb 2016 05:18:12 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aRGzH-0006Z6-L9 for qemu-devel@nongnu.org; Thu, 04 Feb 2016 05:18:11 -0500 Received: from mx1.redhat.com ([209.132.183.28]:44977) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aRGzH-0006Yn-FM for qemu-devel@nongnu.org; Thu, 04 Feb 2016 05:18:07 -0500 References: <1454236146-23293-1-git-send-email-pbonzini@redhat.com> <1454236146-23293-8-git-send-email-pbonzini@redhat.com> <33183CC9F5247A488A2544077AF19020B02DA807@SZXEMA503-MBS.china.huawei.com> <56B20368.8070907@redhat.com> <33183CC9F5247A488A2544077AF19020B02DB9E2@SZXEMA503-MBS.china.huawei.com> From: Paolo Bonzini Message-ID: <56B3255B.803@redhat.com> Date: Thu, 4 Feb 2016 11:18:03 +0100 MIME-Version: 1.0 In-Reply-To: <33183CC9F5247A488A2544077AF19020B02DB9E2@SZXEMA503-MBS.china.huawei.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 07/10] virtio: combine the read of a descriptor List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Gonglei (Arei)" , "qemu-devel@nongnu.org" Cc: "cornelia.huck@de.ibm.com" , "mst@redhat.com" On 04/02/2016 08:48, Gonglei (Arei) wrote: > 11.44% qemu-kvm [.] memory_region_find > 6.31% qemu-kvm [.] qemu_get_ram_ptr > 4.61% libpthread-2.19.so [.] __pthread_mutex_unlock_usercnt > 3.54% qemu-kvm [.] qemu_ram_addr_from_host > 2.80% libpthread-2.19.so [.] pthread_mutex_lock > 2.55% qemu-kvm [.] object_unref > 2.49% libc-2.19.so [.] malloc > 2.47% libc-2.19.so [.] _int_malloc > 2.34% libc-2.19.so [.] _int_free > 2.18% qemu-kvm [.] object_ref > 2.18% qemu-kvm [.] address_space_translate > 2.03% libc-2.19.so [.] __memcpy_sse2_unaligned > 1.76% libc-2.19.so [.] malloc_consolidate > 1.56% qemu-kvm [.] addrrange_intersection > 1.52% qemu-kvm [.] vring_pop > 1.36% qemu-kvm [.] find_next_zero_bit > 1.30% [kernel] [k] native_write_msr_safe > 1.29% qemu-kvm [.] addrrange_intersects > 1.21% qemu-kvm [.] vring_map > 0.93% qemu-kvm [.] virtio_notify > > Do you have any thoughts to decrease the cpu overhead and get higher through output? Thanks! Using bigger chunks than 256 bytes will reduce the overhead in memory_region_find and qemu_get_ram_ptr. You could expect a further 10-12% improvement. Paolo