From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: [PATCH] Avoid fragment virtio-blk transfers by copying Date: Wed, 25 Jun 2008 13:44:35 +0300 Message-ID: <48622193.6080401@qumranet.com> References: <1214331384-32217-1-git-send-email-aliguori@us.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: kvm@vger.kernel.org, Marcelo Tosatti To: Anthony Liguori Return-path: Received: from il.qumranet.com ([212.179.150.194]:37756 "EHLO il.qumranet.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752726AbYFYKog (ORCPT ); Wed, 25 Jun 2008 06:44:36 -0400 In-Reply-To: <1214331384-32217-1-git-send-email-aliguori@us.ibm.com> Sender: kvm-owner@vger.kernel.org List-ID: Anthony Liguori wrote: > A major source of performance loss for virtio-blk has been the fact that we > split transfers into multiple requests. This is particularly harmful if you > have striped storage beneath your virtual machine. > > This patch copies the request data into a single contiguous buffer to ensure > that we don't split requests. This improves performance from about 80 MB/sec > to about 155 MB/sec with my fibre channel link. 185 MB/sec is what we get on > native so this gets us pretty darn close. > > If the guest issues a request for a terabyte of memory, the host will try to allocate it and drop to swap/oom. So we need to either fragment beyond some size, or to avoid copying and thus the need for allocation. -- error compiling committee.c: too many arguments to function