qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] Re: [PATCH 0/4] Block DMA helpers (v2)


From: Avi Kivity
Subject: [Qemu-devel] Re: [PATCH 0/4] Block DMA helpers (v2)
Date: Sun, 08 Feb 2009 11:30:48 +0200
User-agent: Thunderbird 2.0.0.19 (X11/20090105)

Anthony Liguori wrote:
But I thought of something simpler: have virtio call virtio-* to inquire whether a ring entry terminates a request. This would also simplify the virtio device emulations somewhat.

I don't know that I follow what you mean by "terminates a request".

A request is composed of multiple virtio ring elements. The last ring entry for a given request terminates it.

I'm not sure I know what problem you're talking about solving.

The Linux guest interface is at the request level, accepting scatter/gather lists as parameters. The qemu host interface is at the ring element level, leaving the task of gathering ring elements to make a request (and gathering segments to make a scatter/gather list) to users.

I think we should make the qemu virtio host interface talk at the request level, rather than the ring entry level. If we do that, we'll get a cleaner, easier to use interface.

But I think I know what you're getting at: virtio sglists contain a descriptor followed by data. We could handle that by adding

qemu_sglist_sublist(QEMUSGList *sg, QEMUSGList *sublist, target_phys_addr_t offset, target_phys_addr_t len);

it would involve extra copying and allocation, but we could live with it, I think.

--
error compiling committee.c: too many arguments to function





reply via email to

[Prev in Thread] Current Thread [Next in Thread]