virtualization.lists.linux-foundation.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/28] virtio: console: Fixes, support for generic ports
@ 2009-11-28  6:50 Amit Shah
  2009-11-28  6:50 ` [PATCH 01/28] virtio: console: comment cleanup Amit Shah
  0 siblings, 1 reply; 45+ messages in thread
From: Amit Shah @ 2009-11-28  6:50 UTC (permalink / raw)
  To: rusty; +Cc: Amit Shah, virtualization

Hey Rusty,

This is a respin of my patches on top of the series you posted.

I've taken the liberty to modify your patches for style consistency
and comments where needed, keeping the authorship info intact.

I've had to update a few of your patches for functional changes, I've
changed the authorship info on those patches. The (only) major
functional change is to have a list for ports instead of an array
created at device probe time since we will have hotplug support where
we'll need to add new ports anyway.

I've incorporated some of your comments in this series. My
justifications to a few things that differ (some of this may be a
repeat from my previous mails):

* Only one write buffer: to write entire chunks of a write request, we
  have to have some buffer pool. Entire chunks are needed to be
  written in case of vnc copy/paste buffers as vnc clients only use
  the data in the first buffer otherwise. Better than spinning. Also,
  we can't sleep on the output path since we can be called from irq
  context (from hvc).
  
* One vq per port: We have to pre-declare the number of vqs needed at
  probe-time as a result of the MSI support; port hot-plug becomes
  difficult then.

I've passed each patch through an automated test suite that tests for
all the functionality here (caching, throttling, hotplug, hot-unplug,
console IO) twice: once with a qemu that supports this functionality
and once without. It all works fine.

I've also tested with -smp 2 (though looks like qemu's chardevs
rearrange some buffers in case of fast transfers -- there's a race
somewhere there; I've confirmed the kernel sends out all the data in
proper sequence and that the host virtio device queues it up for the
chardevs in proper sequence as well).

The testsuite tests for:
* the 'name' attribute and the symlinks that get created via udev
  scripts in /dev/virtio-ports
* caching
* throttling
* console - with running 'find /'
* open/close of chardevs
* read/write/poll
* sending a large file (> 100 MB) in either direction and matching
  sha1sums.

Since you pointed out that we need not add new feature bits for each
new functionality here, splitting became easier and I've now come up
with even more (but smaller) patches :-)

Please review.

Thanks,
		Amit

Amit Shah (22):
  virtio: console: We support only one device at a time
  virtio: console: don't assume a single console port.
  virtio: console: struct ports for multiple ports per device.
  virtio: console: ensure console size is updated on hvc open
  virtio: console: Introduce a workqueue for handling host->guest
    notifications
  virtio: console: Buffer data that comes in from the host
  virtio: console: Create a buffer pool for sending data to host
  virtio: console: Separate out console-specific data into a separate
    struct
  virtio: console: Separate out console init into a new function
  virtio: console: Introduce a 'header' for each buffer towards
    supporting multiport
  virtio: console: Add a new MULTIPORT feature, support for generic
    ports
  virtio: console: Associate each port with a char device
  virtio: console: Prepare for writing to / reading from userspace
    buffers
  virtio: console: Add file operations to ports for
    open/read/write/poll
  virtio: console: Ensure only one process can have a port open at a
    time
  virtio: console: Register with sysfs and create a 'name' attribute
    for ports
  virtio: console: Add throttling support to prevent flooding ports
  virtio: console: Add option to remove cached buffers on port close
  virtio: console: Handle port hot-plug
  hvc_console: Export (GPL'ed) hvc_remove
  virtio: console: Add ability to hot-unplug ports
  virtio: console: Add debugfs files for each port to expose debug info

Rusty Russell (6):
  virtio: console: comment cleanup
  virtio: console: statically initialize virtio_cons
  hvc_console: make the ops pointer const.
  virtio: console: port encapsulation
  virtio: console: use vdev->priv to avoid accessing global var.
  virtio: console: remove global var

 drivers/char/Kconfig           |    8 +
 drivers/char/hvc_beat.c        |    2 +-
 drivers/char/hvc_console.c     |    8 +-
 drivers/char/hvc_console.h     |    7 +-
 drivers/char/hvc_iseries.c     |    2 +-
 drivers/char/hvc_iucv.c        |    2 +-
 drivers/char/hvc_rtas.c        |    2 +-
 drivers/char/hvc_udbg.c        |    2 +-
 drivers/char/hvc_vio.c         |    2 +-
 drivers/char/hvc_xen.c         |    2 +-
 drivers/char/virtio_console.c  | 1500 ++++++++++++++++++++++++++++++++++++----
 include/linux/virtio_console.h |   46 ++-
 12 files changed, 1415 insertions(+), 168 deletions(-)

^ permalink raw reply	[flat|nested] 45+ messages in thread

end of thread, other threads:[~2009-12-15 22:55 UTC | newest]

Thread overview: 45+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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
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

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).