Re: [Qemu-devel] Re: [PATCH 2 of 5] add can_dma/post_dma for direct IO

Avi Kivity
2008-12-16T17:09:48Z

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