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 -- 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