From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NfEwp-0000on-IR for qemu-devel@nongnu.org; Wed, 10 Feb 2010 10:57:51 -0500 Received: from [199.232.76.173] (port=44411 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NfEwp-0000oZ-3t for qemu-devel@nongnu.org; Wed, 10 Feb 2010 10:57:51 -0500 Received: from Debian-exim by monty-python.gnu.org with spam-scanned (Exim 4.60) (envelope-from ) id 1NfEwl-0006s7-L9 for qemu-devel@nongnu.org; Wed, 10 Feb 2010 10:57:50 -0500 Received: from mx1.redhat.com ([209.132.183.28]:56405) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NfEwk-0006rn-O2 for qemu-devel@nongnu.org; Wed, 10 Feb 2010 10:57:47 -0500 Message-ID: <4B72D774.80807@redhat.com> Date: Wed, 10 Feb 2010 17:57:40 +0200 From: Avi Kivity MIME-Version: 1.0 References: <4B728FF9.6010707@lab.ntt.co.jp> <4B72B28E.6010801@redhat.com> <4B72D69D.7050005@codemonkey.ws> In-Reply-To: <4B72D69D.7050005@codemonkey.ws> Content-Type: text/plain; charset=ISO-2022-JP Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] Re: [PATCH v2] qemu-kvm: Speed up of the dirty-bitmap-traveling List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: OHMURA Kei , mtosatti@redhat.com, "qemu-devel@nongnu.org" , "kvm@vger.kernel.org" , Anthony Liguori On 02/10/2010 05:54 PM, Anthony Liguori wrote: > On 02/10/2010 07:20 AM, Avi Kivity wrote: > >> On 02/10/2010 12:52 PM, OHMURA Kei wrote: >> >> >>> dirty-bitmap-traveling is carried out by byte size in qemu-kvm.c. >>> But We think that dirty-bitmap-traveling by long size is faster than by byte >>> size especially when most of memory is not dirty. >>> >>> --- a/bswap.h >>> +++ b/bswap.h >>> @@ -209,7 +209,6 @@ static inline void cpu_to_be32wu(uint32_t *p, uint32_t v) >>> #define cpu_to_32wu cpu_to_le32wu >>> #endif >>> >>> -#undef le_bswap >>> #undef be_bswap >>> #undef le_bswaps >>> >>> >>> >> Anthony, is it okay to export le_bswap this way, or will you want >> leul_to_cpu()? >> >> > kvm_get_dirty_pages_log_range() is kvm-specific code. We're guaranteed > that when we're using kvm, target byte order == host byte order. > > So is it really necessary to use a byte swapping function at all? > The dirty log bitmap is always little endian. This is so we don't have to depend on sizeof(long) (which can vary between kernel and userspace) or mandate some other access size. (if native endian worked, then the previous byte-based code would have been broken on big endian). Seriously, those who say that big vs little endian is a matter of taste are missing something. -- error compiling committee.c: too many arguments to function