Re: AlacrityVM benchmark numbers updated

From: Avi Kivity
Date: Wed Aug 26 2009 - 06:16:47 EST


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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/