From: Rusty Russell <rusty@rustcorp.com.au>
To: Amit Shah <amit.shah@redhat.com>
Cc: Shirley Ma <mashirle@us.ibm.com>,
virtualization@lists.linux-foundation.org
Subject: Re: [PATCH 12/28] virtio: console: Buffer data that comes in from the host
Date: Thu, 3 Dec 2009 09:24:23 +1030 [thread overview]
Message-ID: <200912030924.23783.rusty@rustcorp.com.au> (raw)
In-Reply-To: <20091202092406.GB28265@amit-x200.redhat.com>
On Wed, 2 Dec 2009 07:54:06 pm Amit Shah wrote:
> On (Wed) Dec 02 2009 [14:14:20], Rusty Russell wrote:
> > On Sat, 28 Nov 2009 05:20:35 pm Amit Shah wrote:
> > > The console could be flooded with data from the host; handle
> > > this situation by buffering the data.
> >
> > All this complexity makes me really wonder if we should just
> > have the host say the max # ports it will ever use, and just do this
> > really dumbly. Yes, it's a limitation, but it'd be much simpler.
>
> As in make sure the max nr ports is less than 255 and have per-port vqs?
> And then the buffering will be done inside the vqs themselves?
Well < 128 (two vqs per port). The config would say (with a feature bit)
how many vq pairs there are. If we want expect sparse port numbers, it can
also provide an array mapping the vq pairs to the port number (65535 or
something meaning unused). In practice I suspect 4 or 8 will be plenty
for now.
That makes hotplugging ports pretty simple: change the array, ping
config_changed.
Or we could abandon numbers and just use the names; I don't mind (we still
need a way to figure out what ports are active I guess, maybe a bitmap in
the config?)
But we get the vq buffering and flow control for free with this approach.
Cheers,
Rusty.
next prev parent reply other threads:[~2009-12-02 22:54 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-28 6:50 [PATCH 00/28] virtio: console: Fixes, support for generic ports Amit Shah
2009-11-28 6:50 ` [PATCH 01/28] virtio: console: comment cleanup Amit Shah
2009-11-28 6:50 ` [PATCH 02/28] virtio: console: statically initialize virtio_cons Amit Shah
2009-11-28 6:50 ` [PATCH 03/28] hvc_console: make the ops pointer const Amit Shah
[not found] ` <1259391051-7752-4-git-send-email-amit.shah@redhat.com>
2009-11-28 6:50 ` [PATCH 04/28] virtio: console: We support only one device at a time Amit Shah
2009-11-28 6:50 ` [PATCH 05/28] virtio: console: port encapsulation Amit Shah
2009-11-28 6:50 ` [PATCH 06/28] virtio: console: use vdev->priv to avoid accessing global var Amit Shah
2009-11-28 6:50 ` [PATCH 07/28] virtio: console: don't assume a single console port Amit Shah
2009-11-28 6:50 ` [PATCH 08/28] virtio: console: remove global var Amit Shah
2009-11-28 6:50 ` [PATCH 09/28] virtio: console: struct ports for multiple ports per device Amit Shah
2009-11-28 6:50 ` [PATCH 10/28] virtio: console: ensure console size is updated on hvc open Amit Shah
2009-11-28 6:50 ` [PATCH 11/28] virtio: console: Introduce a workqueue for handling host->guest notifications Amit Shah
2009-11-28 6:50 ` [PATCH 12/28] virtio: console: Buffer data that comes in from the host Amit Shah
2009-11-28 6:50 ` [PATCH 13/28] virtio: console: Create a buffer pool for sending data to host Amit Shah
2009-11-28 6:50 ` [PATCH 14/28] virtio: console: Separate out console-specific data into a separate struct Amit Shah
2009-11-28 6:50 ` [PATCH 15/28] virtio: console: Separate out console init into a new function Amit Shah
2009-11-28 6:50 ` [PATCH 16/28] virtio: console: Introduce a 'header' for each buffer towards supporting multiport Amit Shah
2009-11-28 6:50 ` [PATCH 17/28] virtio: console: Add a new MULTIPORT feature, support for generic ports Amit Shah
2009-11-28 6:50 ` [PATCH 18/28] virtio: console: Associate each port with a char device Amit Shah
2009-11-28 6:50 ` [PATCH 19/28] virtio: console: Prepare for writing to / reading from userspace buffers Amit Shah
2009-11-28 6:50 ` [PATCH 20/28] virtio: console: Add file operations to ports for open/read/write/poll Amit Shah
2009-11-28 6:50 ` [PATCH 21/28] virtio: console: Ensure only one process can have a port open at a time Amit Shah
2009-11-28 6:50 ` [PATCH 22/28] virtio: console: Register with sysfs and create a 'name' attribute for ports Amit Shah
2009-11-28 6:50 ` [PATCH 23/28] virtio: console: Add throttling support to prevent flooding ports Amit Shah
2009-11-28 6:50 ` [PATCH 24/28] virtio: console: Add option to remove cached buffers on port close Amit Shah
2009-11-28 6:50 ` [PATCH 25/28] virtio: console: Handle port hot-plug Amit Shah
2009-11-28 6:50 ` [PATCH 26/28] hvc_console: Export (GPL'ed) hvc_remove Amit Shah
[not found] ` <1259391051-7752-27-git-send-email-amit.shah@redhat.com>
2009-11-28 6:50 ` [PATCH 27/28] virtio: console: Add ability to hot-unplug ports Amit Shah
2009-11-28 6:50 ` [PATCH 28/28] virtio: console: Add debugfs files for each port to expose debug info Amit Shah
2009-12-02 8:30 ` [PATCH 13/28] virtio: console: Create a buffer pool for sending data to host Rusty Russell
2009-12-02 9:19 ` Amit Shah
2009-12-02 3:44 ` [PATCH 12/28] virtio: console: Buffer data that comes in from the host Rusty Russell
2009-12-02 9:24 ` Amit Shah
2009-12-02 22:54 ` Rusty Russell [this message]
2009-12-03 3:43 ` Amit Shah
2009-12-04 11:02 ` Amit Shah
2009-12-08 1:16 ` Rusty Russell
2009-12-15 10:45 ` Amit Shah
2009-12-15 22:55 ` Rusty Russell
2009-11-30 2:09 ` [PATCH 09/28] virtio: console: struct ports for multiple ports per device Rusty Russell
2009-11-30 5:50 ` Amit Shah
2009-11-30 1:57 ` [PATCH 08/28] virtio: console: remove global var Rusty Russell
2009-11-30 5:45 ` Amit Shah
2009-11-30 1:50 ` [PATCH 07/28] virtio: console: don't assume a single console port Rusty Russell
2009-11-30 5:42 ` 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=200912030924.23783.rusty@rustcorp.com.au \
--to=rusty@rustcorp.com.au \
--cc=amit.shah@redhat.com \
--cc=mashirle@us.ibm.com \
--cc=virtualization@lists.linux-foundation.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).