From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: [Qemu-devel] Re: [PATCH 2 of 5] add can_dma/post_dma for direct IO Date: Tue, 16 Dec 2008 19:09:37 +0200 Message-ID: <4947E0D1.6060704@redhat.com> References: <4944117C.6030404@redhat.com> <49442410.7020608@codemonkey.ws> <4944A1B5.5080300@redhat.com> <49455A33.207@codemonkey.ws> <49456337.4000000@redhat.com> <494591F7.3080002@codemonkey.ws> <4946D501.4020109@codemonkey.ws> <494777E7.8050305@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: Anthony Liguori , qemu-devel@nongnu.org, Andrea Arcangeli , chrisw@redhat.com, kvm@vger.kernel.org, Gerd Hoffmann To: Blue Swirl Return-path: Received: from mx2.redhat.com ([66.187.237.31]:50383 "EHLO mx2.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755930AbYLPRJs (ORCPT ); Tue, 16 Dec 2008 12:09:48 -0500 In-Reply-To: Sender: kvm-owner@vger.kernel.org List-ID: Blue Swirl wrote: >> I don't understand. It's not a device that needs bouncing, it's a >> particular transfer. This could be either due to the transfer targeting >> mmio, or due to the transfer requiring a transformation. >> > > Should the bouncing be something more much complex, for example > negotiated between the devices? Or maybe the devices set up a > transforming and non-transforming channel (which the other end should > be able to transform some more) and use them as needed? > Yes. We already have two cases: - may do partial request: useful for block storage where requests can be huge - need full request: networking, where you can't send or receive half a packet; on the other hand, packets are small (even with tso) You're adding a third case, always bounce, when the data undergoes a transformation which can't happen in-place. -- error compiling committee.c: too many arguments to function