Subject: Re: [RFC PATCH v2 03/19] vbus: add connection-client helper infrastructure

From: Avi Kivity <[email-masked]>
Date: Thu, 04 Jun 2009 21:24:33 +0300

Gregory Haskins wrote:

>> BTW, why did you decide to use get_user_pages?
>> Would switch_mm + copy_to_user work as well
>> avoiding page walk if all pages are present?
>>   
>>     
>
> Well, basic c_t_u() won't work because its likely not "current" if you
> are updating the ring from some other task, but I think you have already
> figured that out based on the switch_mm suggestion.  The simple truth is
> I was not familiar with switch_mm at the time I wrote this (nor am I
> now).  If this is a superior method that allows you to acquire
> c_t_u(some_other_ctx) like behavior, I see no problem in changing.  I
> will look into this, and thanks for the suggestion!
>   

copy_to_user() is significantly faster than get_user_pages() + kmap() + 
memcmp() (or their variants).

-- 
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.