From mboxrd@z Thu Jan 1 00:00:00 1970 From: Fernando Luis Vazquez Cao Subject: Re: [PATCH RFC 5/5] KVM: This is the main part of the "moving dirty bitmaps to user space" Date: Tue, 13 Apr 2010 05:55:10 +0900 Message-ID: <4BC388AE.9010903@oss.ntt.co.jp> References: <20100409182732.857de4db.yoshikawa.takuya@oss.ntt.co.jp> <20100409183808.b72fc9a3.yoshikawa.takuya@oss.ntt.co.jp> <4BC2051B.9090101@redhat.com> <4BC28578.4050102@oss.ntt.co.jp> <4BC2E64E.1090202@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Takuya Yoshikawa , mtosatti@redhat.com, kvm@vger.kernel.org To: Avi Kivity Return-path: Received: from serv2.oss.ntt.co.jp ([222.151.198.100]:58129 "EHLO serv2.oss.ntt.co.jp" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753898Ab0DLVS3 (ORCPT ); Mon, 12 Apr 2010 17:18:29 -0400 In-Reply-To: <4BC2E64E.1090202@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: Avi Kivity wrote: > On 04/12/2010 05:29 AM, Takuya Yoshikawa wrote: >>>> TODO: >>>> 1. We want to use copy_in_user() for 32bit case too. >>> >>> Definitely. Why doesn't it work now? >> >> Sadly we don't have that for 32bit. We have to implement by ourselves. >> >> I tested two temporary implementations for 32bit: >> 1. This version using copy_from_user() and copy_to_user() with >> not nice vmalloc(). >> 2. Loop with __get_user() and __put_user(). >> >> The result was 1 is much faster than 2. > > What about copy_from_user()/copy_to_user() through a 512 byte buffer > on the kernel stack? Reserving 512 bytes on the stack looks like too much, I'd rather kmalloc a 512 byte buffer at VM creation time and pass it down to the dirty page tracking code. Would you be OK with such an approach?