Subject: Re: AlacrityVM benchmark numbers updated

From: Avi Kivity <[email-masked]>
Date: Wed, 26 Aug 2009 13:16:21 +0300

On 08/26/2009 04:01 AM, Gregory Haskins wrote:
> We are pleased to announce the availability of the latest networking
> benchmark numbers for AlacrityVM.  We've made several tweaks to the
> original v0.1 release to improve performance.  The most notable is a
> switch from get_user_pages to switch_mm+copy_[to/from]_user thanks to a
> review suggestion from Michael Tsirkin (as well as his patch to
> implement it).
>
> This change alone accounted for freeing up an additional 1.2Gbps, which
> is over 25% improvement from v0.1.  The previous numbers were 4560Gbps
> before the change, and 5708Gbps after (for 1500mtu over 10GE).  This
> moves us ever closer to the goal of native performance under virtualization.
>    

Interesting, it's good to see that copy_*_user() works so well.  Note 
that there's a possible optimization that goes in the opposite direction 
- keep using get_user_pages(), but use the dma engine API to perform the 
actual copy.  I expect that it will only be a win when using tso to 
transfer full pages.  Large pages may also help.

Copyless tx also wants get_user_pages().  It makes sense to check if 
switch_mm() + get_user_pages_fast() gives better performance than 
get_user_pages().

-- 
error compiling committee.c: too many arguments to function