qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 0/8] virtio-console: Move to qdev, multiple devi


From: Anthony Liguori
Subject: Re: [Qemu-devel] [PATCH 0/8] virtio-console: Move to qdev, multiple devices, generic ports
Date: Tue, 19 Jan 2010 08:33:48 -0600
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.5) Gecko/20091209 Fedora/3.0-4.fc12 Lightning/1.0pre Thunderbird/3.0

On 01/14/2010 09:34 AM, Amit Shah wrote:
On (Thu) Jan 14 2010 [08:34:42], Anthony Liguori wrote:
On 01/14/2010 07:17 AM, Amit Shah wrote:
Hello people,

This iteration of the series removes the START and END flags (and
hence the header associated with each buffer). That's the major change
since the last submission.

I think the biggest issue remaining is the buffering.

I think this is a pretty fundamental issue to work out since it
determines the very nature of the transport (stream vs. datagram).
The buffering is done so that the guest copy of the buffer is acked so
that the guest can go about doing other things. (Currently the guest
spins till a buffer is acked by the host and waiting for individual
ports to flush their data to whichever receiver will consume some time.)

The guest already gets an ack when data is consumed. The host adds the consumed buffer to the used ring.

This also puts buffer management in one place: not all ports will
consume all the data given to them. There's a need to maintain the
buffer contents till the ports consume all the data. This buffer
management can either be done by the individual ports, or it could be
done by the bus code. I prefer doing it in the bus code since the code
will be the same and be in one place instead of each port doing it
separately all around the place.

The rings themselves are buffers. Since each port has a ring, each port has independent buffering right now.

Regards,

Anthony Liguori





reply via email to

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