qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Lei Li <lilei@linux.vnet.ibm.com>
To: Lei Li <lilei@linux.vnet.ibm.com>
Cc: aliguori@us.ibm.com, qemu-devel@nongnu.org, anthony@codemonkey.ws
Subject: Re: [Qemu-devel] [PATCH 0/4 V8] char: Add CirMemCharDriver and provide QMP interface
Date: Fri, 18 Jan 2013 18:50:05 +0800	[thread overview]
Message-ID: <50F928DD.9080003@linux.vnet.ibm.com> (raw)
In-Reply-To: <1354805800-29653-1-git-send-email-lilei@linux.vnet.ibm.com>

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

      parent reply	other threads:[~2013-01-18 10:50 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-12-06 14:56 [Qemu-devel] [PATCH 0/4 V8] char: Add CirMemCharDriver and provide QMP interface Lei Li
2012-12-06 14:56 ` [Qemu-devel] [PATCH 1/4] qemu-char: Add new char backend CirMemCharDriver Lei Li
2012-12-06 14:56 ` [Qemu-devel] [PATCH 2/4] QAPI: Introduce memchar-write QMP command Lei Li
2012-12-06 14:56 ` [Qemu-devel] [PATCH 3/4] QAPI: Introduce memchar-read " Lei Li
2012-12-06 14:56 ` [Qemu-devel] [PATCH 4/4] HMP: Introduce console command Lei Li
2013-01-18 10:50 ` Lei Li [this message]

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=50F928DD.9080003@linux.vnet.ibm.com \
    --to=lilei@linux.vnet.ibm.com \
    --cc=aliguori@us.ibm.com \
    --cc=anthony@codemonkey.ws \
    --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).