From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Vrabel Subject: Re: [PATCH] introduce grant copy for user land Date: Tue, 11 Nov 2014 15:06:44 +0000 Message-ID: <54622604.40807@citrix.com> References: <1412262916-22596-1-git-send-email-thanos.makatos@citrix.com> <5457C35F.50504@citrix.com> <2368A3FCF9F7214298E53C823B0A48EC04289299@AMSPEX01CL02.citrite.net> <5462105A.6020100@citrix.com> <2368A3FCF9F7214298E53C823B0A48EC0428962A@AMSPEX01CL02.citrite.net> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1XoD4N-0004Vg-14 for xen-devel@lists.xenproject.org; Tue, 11 Nov 2014 15:09:23 +0000 In-Reply-To: <2368A3FCF9F7214298E53C823B0A48EC0428962A@AMSPEX01CL02.citrite.net> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Thanos Makatos , "xen-devel@lists.xenproject.org" Cc: "boris.ostrovsky@oracle.com" List-Id: xen-devel@lists.xenproject.org On 11/11/14 14:42, Thanos Makatos wrote: >> On 11/11/14 12:27, Thanos Makatos wrote: >>>> The arbitrary limitations in number of ops and page alignment should >>>> be removed. I think both can be removed relatively easily by >>>> consuming page aligned chunks of segments and doign the hypercall >>>> when a batch of ops is filled. >>> >>> Wouldn't this lead to multiple calls to gnttab_batch_copy(), potentially >> hurting performance? >> >> The incremental benefits of batching diminishes as the batch size increase. > > To overcome the page alignment limitation, struct gntdev_grant_copy_segment > will have to contain a set of grant refs instead of just one grant ref, > correct? Oh, that would be awkward. Keeping the alignment requirement would be best. >> We also don't want multi-page allocations in this driver, so the batch size >> should be set accordingly. > > Why not? Multi-page allocations are more likely to fail because of memory fragmentation. >> The interface should also support grant to grant copies. > > To support grant to grant copies, struct gntdev_grant_copy_segment will have > to contain an additional set of grant refs, correct? The hypervisor ABI uses a union of handle and grant ref. Perhaps something similar for the kernel interface? David