Re: Extending virtio_console to support multiple ports

Anthony Liguori
2009-08-31T13:17:23Z

Amit Shah wrote:
>> No flags, assume it's a streaming protocol and don't assume anything
>> about message sizes. IOW, when you send clipboard data, send size and
>> then the data. QEMU consumes bytes until it reaches size.
>>
>
> Same intent but a different method: I'll have to specify that particular
> data is "size" and that data after this special data is the actual data
> stream.
>

Sounds like every stream protocol in existence :-)

>>> - A lock has to be introduced to fetch one unused buffer from the list
>>> and pass it on to the host. And this lock has to be a spinlock, just
>>> because writes can be called from irq context.
>>>
>> I don't see a problem here.
>>
>
> You mean you don't see a problem in using a spinlock vs not using one?
>

Right. This isn't a fast path.

> Userspace will typically send the entire buffer to be transmitted in one
> system call. If it's large, the system call will have to be broken into
> several. This results in multiple guest system calls, each one to be
> handled with a spinlock held.
>
> Compare this with the entire write handled in one system call in the
> current method.
>

Does it matter? This isn't a fast path.

Regards,

Anthony Liguori