qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 00/12][RFC] char: add flow control and fix guest


From: Anthony Liguori
Subject: Re: [Qemu-devel] [PATCH 00/12][RFC] char: add flow control and fix guest_[open|close]
Date: Mon, 01 Aug 2011 11:13:12 -0500
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.17) Gecko/20110516 Lightning/1.0b2 Thunderbird/3.1.10

On 08/01/2011 11:04 AM, Alon Levy wrote:
On Mon, Aug 01, 2011 at 09:22:58AM -0500, Anthony Liguori wrote:
The char layer has been growing some nasty warts for some time now as we ask it
to do things it was never intended on doing.  It's been long over due for an
overhaul and its become evident to me that we need to address this first before
adding any more features to the char layer.

This series is the start at sanitizing the char layer.  It effectively turns
the char layer into an internal pipe.  It supports flow control using an
intermediate ring queue for each direction.

This series is an RFC because I don't think we should merge the series until we
completely convert the old style flow control users to the new style.

One particularly nasty area is the mux device.  I'm not entirely sure yet how
to preceed there.



So, adding a copy - is that really a good idea?

Yes, otherwise I wouldn't have proposed it ;-)

I don't have any alternative code,
so I'm already starting bad, I know, and I understand the want to have a "middle
ground" to ease the logic.

You need an intermediate buffer if you want to preserve a simple read/write interface.

Maybe keeping an iovec? add a function on each side for
freeing, i.e. release_be_buffer, release_fe_buffer. At least it could make this 
as
fast as the current code. I'm thinking of copy/paste for vdagent, usbredir, 
guest
agent doing dmesg or anything larger.

I think you're prematurely optimizing.

I think you'll find that there are many other bottlenecks well before this copy becomes an issue.

Regardless, correctness needs to trump performance here. We ought to focus on making the layer lossless and sane first, and then we can work on improving performance.

Regards,

Anthony Liguori







reply via email to

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