From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:44677) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Tw9Wl-0006Fa-HF for qemu-devel@nongnu.org; Fri, 18 Jan 2013 05:50:30 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Tw9Wh-0004xh-5Z for qemu-devel@nongnu.org; Fri, 18 Jan 2013 05:50:27 -0500 Received: from e23smtp06.au.ibm.com ([202.81.31.148]:40455) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Tw9Wg-0004wc-IX for qemu-devel@nongnu.org; Fri, 18 Jan 2013 05:50:23 -0500 Received: from /spool/local by e23smtp06.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Fri, 18 Jan 2013 20:46:24 +1000 Received: from d23relay05.au.ibm.com (d23relay05.au.ibm.com [9.190.235.152]) by d23dlp01.au.ibm.com (Postfix) with ESMTP id 85BC12CE804A for ; Fri, 18 Jan 2013 21:50:16 +1100 (EST) Received: from d23av04.au.ibm.com (d23av04.au.ibm.com [9.190.235.139]) by d23relay05.au.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id r0IAcPOr63373552 for ; Fri, 18 Jan 2013 21:38:27 +1100 Received: from d23av04.au.ibm.com (loopback [127.0.0.1]) by d23av04.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id r0IAoEmk007638 for ; Fri, 18 Jan 2013 21:50:15 +1100 Message-ID: <50F928DD.9080003@linux.vnet.ibm.com> Date: Fri, 18 Jan 2013 18:50:05 +0800 From: Lei Li MIME-Version: 1.0 References: <1354805800-29653-1-git-send-email-lilei@linux.vnet.ibm.com> In-Reply-To: <1354805800-29653-1-git-send-email-lilei@linux.vnet.ibm.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 0/4 V8] char: Add CirMemCharDriver and provide QMP interface List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Lei Li Cc: aliguori@us.ibm.com, qemu-devel@nongnu.org, anthony@codemonkey.ws Hi Anthony, As 1.4 freeze is going to close, should this patch series be merged? It has been on mailing list for a long time after last time I rebased and fixed the comment from Eric. On 12/06/2012 10:56 PM, Lei Li wrote: > This patch series attempts to add new char backend CirMemCharDriver with > a circular buffer and expose it to users by introducing QMP interface > memchar-write and memchar-read and via the command line like the other > CharDriverStates. > > Serial ports in qemu always use CharDriverStates as there backends, > Right now, all of our backends always try to write the data from the > guest to a socket or file. The concern from OpenStack is that this could > lead to unbounded disk space usage since they log the serial output. > For more detail of the background info: > https://bugs.launchpad.net/nova/+bug/832507 > > So we want to use a circular buffer in QEMU instead, and then OpenStack > can periodically read the buffer in QEMU and log it. > > The QMP commands introduced like: > > { 'command': 'memchar-write', > 'data': {'chardev': 'str', 'size': 'int', 'data': 'str', > 'format': 'str' } } > > { 'command': 'memchar-read', > 'data': {'chardev': 'str', 'size': 'int', 'format': 'str' }, > 'returns': 'str' } > > Expose CirMemCharDriver via the command line like: > > qemu -chardev memory,id=foo,maxcapacity=65536 -serial chardev:foo > > Introduce HMP command 'console' like: > > (qemu) console foo > foo: Input data > > Note: > Now all of the feature were implemented, and the pervious comments > are fixed up too. Since this patch series have been for mailing list > for some time and missed 1.3, rebase it with minor fix. > > Changes since v7: > - Rebase the code and fix the format error pointed by Eric. > - Modify the version info. > > Changes since v6: > - Improve the document based on Luiz's comments. > - Keep pointing to the right position in cbuf for the case producer > and consumer might overflow for long running VMs pointed by Luiz. > - Limit the size of read_data to the amount of bytes available in the > circular buffer. > - Other fixups from Luiz. > > Changes since v5: > - Avoid writing the IAC information to the queue. > - Grammar of the doc for command line options improved from Eric. > > Changes since v4: > - Get rid of all CongestionControl bits, and assume a dropping behavior > based on Luiz's suggestion for now. Will add it when we add async > support to QMP. > - Squashed the patches about CirMemCharDriver in one. > - Other fixups from Luiz. > > Changes since v3: > - Improve the algorithm of circular buffer based on Anthony's > suggestion. > - Some changes suggested by Luiz and Blue. > - And other fixups. > > Changes since v2: > - Add congestion mechanism. For the 'block' option as sync command, > will support it later when we gain the necessary infrastructure > enhancement. > - Add HMP 'console' command so that can interact with multiple > chardevs via a single monitor socket. > - Make the circular buffer backend and the current MemCharDriver > live in parallel, expose a new char backend with circular buffer > CirMemCharDriver suggested by Luiz. > - Other fixs from Eric and Markus. > > Changes since v1: > - Exposing the MemCharDriver via command line. > - Support base64 data format suggested by Anthony and Eric. > - Follow the new rule for the name of qmp command from Eric. > > > Lei Li (4): > qemu-char: Add new char backend CirMemCharDriver > QAPI: Introduce memchar-write QMP command > QAPI: Introduce memchar-read QMP command > HMP: Introduce console command > > hmp-commands.hx | 72 +++++++++++++++++++ > hmp.c | 99 +++++++++++++++++++++++ > hmp.h | 3 + > monitor.c | 15 ++++ > monitor.h | 3 + > qapi-schema.json | 96 +++++++++++++++++++++++++ > qemu-char.c | 217 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ > qemu-config.c | 3 + > qemu-options.hx | 10 +++ > qmp-commands.hx | 89 +++++++++++++++++++++ > 10 files changed, 607 insertions(+), 0 deletions(-) > > -- Lei