From: Anthony Liguori <anthony@codemonkey.ws>
To: qemu-devel@nongnu.org, Amit Shah <amit.shah@redhat.com>,
Hans de Goede <hdegoede@redhat.com>
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 [thread overview]
Message-ID: <4E36D098.8060706@codemonkey.ws> (raw)
In-Reply-To: <20110801160410.GF2574@bow.tlv.redhat.com>
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
>
>
next prev parent reply other threads:[~2011-08-01 16:13 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-01 14:22 [Qemu-devel] [PATCH 00/12][RFC] char: add flow control and fix guest_[open|close] Anthony Liguori
2011-08-01 14:22 ` [Qemu-devel] [PATCH 01/12] char: rename qemu_chr_write() to qemu_chr_fe_write() Anthony Liguori
2011-08-04 16:00 ` Avi Kivity
2011-08-04 16:11 ` Anthony Liguori
2011-08-04 16:14 ` Avi Kivity
2011-08-04 16:17 ` Avi Kivity
2011-08-04 16:22 ` Anthony Liguori
2011-08-04 16:21 ` Anthony Liguori
2011-08-01 14:23 ` [Qemu-devel] [PATCH 02/12] char: rename qemu_chr_[can_]read() to qemu_chr_be_[can_]write() Anthony Liguori
2011-08-01 14:23 ` [Qemu-devel] [PATCH 03/12] char: introduce tx queue to enable Unix style flow control Anthony Liguori
2011-08-04 16:04 ` Avi Kivity
2011-08-04 16:31 ` Anthony Liguori
2011-08-01 14:23 ` [Qemu-devel] [PATCH 04/12] char: introduce backend tx queue Anthony Liguori
2011-08-01 15:33 ` Stefan Hajnoczi
2011-08-01 15:37 ` Anthony Liguori
2011-08-01 14:23 ` [Qemu-devel] [PATCH 05/12] char: add read functions for backend and frontend Anthony Liguori
2011-08-01 14:23 ` [Qemu-devel] [PATCH 06/12] char: add an edge event API for the front ends Anthony Liguori
2011-08-01 15:39 ` Stefan Hajnoczi
2011-08-01 15:40 ` Anthony Liguori
2011-08-01 14:23 ` [Qemu-devel] [PATCH 07/12] char: add backend edge notification interface Anthony Liguori
2011-08-01 14:23 ` [Qemu-devel] [PATCH 08/12] char: make monitor use new style interface Anthony Liguori
2011-08-01 14:23 ` [Qemu-devel] [PATCH 09/12] char: rename qemu_chr_guest_open() -> qemu_chr_fe_open() Anthony Liguori
2011-08-01 14:23 ` [Qemu-devel] [PATCH 10/12] char: rename qemu_chr_guest_close() -> qemu_chr_fe_close() Anthony Liguori
2011-08-01 14:23 ` [Qemu-devel] [PATCH 11/12] char: make all devices do qemu_chr_fe_open() Anthony Liguori
2011-08-01 14:23 ` [Qemu-devel] [PATCH 12/12] char: enforce the use of qemu_chr_guest_open() Anthony Liguori
2011-08-01 15:38 ` Alon Levy
2011-08-01 15:39 ` Anthony Liguori
2011-08-01 16:04 ` [Qemu-devel] [PATCH 00/12][RFC] char: add flow control and fix guest_[open|close] Alon Levy
2011-08-01 16:13 ` Anthony Liguori [this message]
2011-08-01 17:42 ` Hans de Goede
2011-08-01 21:54 ` Blue Swirl
2011-08-01 22:47 ` Anthony Liguori
2011-08-04 6:45 ` Amit Shah
2011-08-04 13:11 ` Anthony Liguori
2011-08-04 14:46 ` Amit Shah
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4E36D098.8060706@codemonkey.ws \
--to=anthony@codemonkey.ws \
--cc=amit.shah@redhat.com \
--cc=hdegoede@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).