From: Paul Brook <paul@codesourcery.com>
To: "Christian Bornträger" <borntraeger@de.ibm.com>
Cc: virtualization@lists.linux-foundation.org, qemu-devel@nongnu.org,
Amit Shah <amit.shah@redhat.com>,
kvm@vger.kernel.org
Subject: Re: [Qemu-devel] virtio-serial: A guest <-> host interface for simple communication
Date: Tue, 23 Jun 2009 15:16:13 +0100 [thread overview]
Message-ID: <200906231516.15470.paul@codesourcery.com> (raw)
In-Reply-To: <200906231558.33794.borntraeger@de.ibm.com>
On Tuesday 23 June 2009, Christian Bornträger wrote:
> Am Dienstag 23 Juni 2009 14:55:52 schrieb Paul Brook:
> > > Here are two patches. One implements a virtio-serial device in qemu
> > > and the other is the driver for a guest kernel.
> >
> > So I'll ask again. Why is this separate from virtio-console?
>
> I did some work on virtio-console, since kvm on s390 does not provide any
> other. I dont think we should mix two different types of devices into one
> driver. The only thing that these drivers have in common, is the fact that
> there are two virtqueues, piping data (single bytes or larger chunks). So
> you could make the same argument with the first virtio_net driver (the one
> before GSO) - which is obviously wrong. The common part of the transport is
> already factored out to virtio_ring and the transports.
virtio-net is packet based, not stream based.
> In addition there are two ABIs involved: a userspace ABI (/dev/hvc0) and a
> guest/host ABI for this console. (and virtio was not meant to be a KVM-only
> interface, that we can change all the time). David A. Wheeler's 'SLOCCount'
> gives me 141 lines of code for virtio_console.c. I am quite confident that
> the saving we could achieve by merging these two drivers is not worth the
> hazzle.
AFAICS the functionality provided is exactly the same. The host API is
identical, and the guest userspace API only has trivial differences (which
could be eliminated with a simple udev rule). By my reading virtio-serial
makes virtio-console entirely redundant.
> Discussion about merging the console code into this distracts from the main
> problem: To get the interface and functionality right before it becomes an
> ABI (is it /dev/ttyS, network like or is it something completely
> different?).
Ah, now that's a different question. I don't know what the requirements are
for the higher level vmchannel interface. However I also don't care.
Paul
WARNING: multiple messages have this Message-ID (diff)
From: Paul Brook <paul@codesourcery.com>
To: "Christian Bornträger" <borntraeger@de.ibm.com>
Cc: Amit Shah <amit.shah@redhat.com>,
qemu-devel@nongnu.org, kvm@vger.kernel.org,
virtualization@lists.linux-foundation.org
Subject: Re: [Qemu-devel] virtio-serial: A guest <-> host interface for simple communication
Date: Tue, 23 Jun 2009 15:16:13 +0100 [thread overview]
Message-ID: <200906231516.15470.paul@codesourcery.com> (raw)
In-Reply-To: <200906231558.33794.borntraeger@de.ibm.com>
On Tuesday 23 June 2009, Christian Bornträger wrote:
> Am Dienstag 23 Juni 2009 14:55:52 schrieb Paul Brook:
> > > Here are two patches. One implements a virtio-serial device in qemu
> > > and the other is the driver for a guest kernel.
> >
> > So I'll ask again. Why is this separate from virtio-console?
>
> I did some work on virtio-console, since kvm on s390 does not provide any
> other. I dont think we should mix two different types of devices into one
> driver. The only thing that these drivers have in common, is the fact that
> there are two virtqueues, piping data (single bytes or larger chunks). So
> you could make the same argument with the first virtio_net driver (the one
> before GSO) - which is obviously wrong. The common part of the transport is
> already factored out to virtio_ring and the transports.
virtio-net is packet based, not stream based.
> In addition there are two ABIs involved: a userspace ABI (/dev/hvc0) and a
> guest/host ABI for this console. (and virtio was not meant to be a KVM-only
> interface, that we can change all the time). David A. Wheeler's 'SLOCCount'
> gives me 141 lines of code for virtio_console.c. I am quite confident that
> the saving we could achieve by merging these two drivers is not worth the
> hazzle.
AFAICS the functionality provided is exactly the same. The host API is
identical, and the guest userspace API only has trivial differences (which
could be eliminated with a simple udev rule). By my reading virtio-serial
makes virtio-console entirely redundant.
> Discussion about merging the console code into this distracts from the main
> problem: To get the interface and functionality right before it becomes an
> ABI (is it /dev/ttyS, network like or is it something completely
> different?).
Ah, now that's a different question. I don't know what the requirements are
for the higher level vmchannel interface. However I also don't care.
Paul
next prev parent reply other threads:[~2009-06-23 14:16 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-23 12:42 virtio-serial: A guest <-> host interface for simple communication Amit Shah
2009-06-23 12:42 ` [Qemu-devel] " Amit Shah
2009-06-23 12:42 ` [PATCH] virtio_serial: A char device for simple guest <-> host communication Amit Shah
2009-06-23 12:42 ` Amit Shah
2009-06-23 12:42 ` [Qemu-devel] " Amit Shah
2009-06-23 12:42 ` [PATCH] virtio-serial: virtio device for simple host <-> guest communication Amit Shah
2009-06-23 12:42 ` [Qemu-devel] " Amit Shah
2009-06-23 15:19 ` Blue Swirl
2009-06-23 15:19 ` Blue Swirl
2009-06-23 15:19 ` Blue Swirl
2009-06-23 12:42 ` Amit Shah
2009-06-23 15:15 ` [Qemu-devel] [PATCH] virtio_serial: A char device for simple guest <-> host communication Blue Swirl
2009-06-23 15:15 ` Blue Swirl
2009-06-23 15:15 ` Blue Swirl
2009-06-23 12:55 ` [Qemu-devel] virtio-serial: A guest <-> host interface for simple communication Paul Brook
2009-06-23 12:55 ` Paul Brook
2009-06-23 12:55 ` Paul Brook
2009-06-23 13:00 ` Amit Shah
2009-06-23 13:00 ` Amit Shah
2009-06-23 13:09 ` Paul Brook
2009-06-23 13:09 ` Paul Brook
2009-06-23 13:09 ` Paul Brook
2009-06-23 13:00 ` Amit Shah
2009-06-23 13:58 ` Christian Bornträger
2009-06-23 13:58 ` Christian Bornträger
2009-06-23 13:58 ` Christian Bornträger
2009-06-23 14:16 ` Paul Brook
2009-06-23 14:16 ` Paul Brook [this message]
2009-06-23 14:16 ` Paul Brook
2009-06-23 14:40 ` Christian Bornträger
2009-06-23 14:40 ` Christian Bornträger
2009-06-23 14:40 ` Christian Bornträger
2009-06-23 14:59 ` Daniel P. Berrange
2009-06-24 4:15 ` Rusty Russell
2009-06-24 4:15 ` [Qemu-devel] " Rusty Russell
2009-06-24 12:39 ` Amit Shah
2009-06-24 12:39 ` Amit Shah
2009-06-24 12:39 ` [Qemu-devel] " Amit Shah
2009-06-25 11:33 ` Rusty Russell
2009-06-25 11:33 ` [Qemu-devel] " Rusty Russell
2009-06-25 20:49 ` Amit Shah
2009-06-25 20:49 ` [Qemu-devel] " Amit Shah
2009-06-25 11:33 ` Rusty Russell
2009-06-24 4:15 ` Rusty Russell
2009-06-24 16:40 ` [Qemu-devel] " Jamie Lokier
2009-06-24 17:10 ` Amit Shah
2009-06-24 17:10 ` Amit Shah
2009-06-24 17:10 ` Amit Shah
2009-06-24 17:50 ` Jamie Lokier
2009-06-24 17:50 ` Jamie Lokier
2009-06-24 18:01 ` Amit Shah
2009-06-24 18:01 ` Amit Shah
2009-06-24 18:01 ` Amit Shah
2009-06-24 19:20 ` Jamie Lokier
2009-06-24 19:20 ` Jamie Lokier
2009-06-24 19:20 ` Jamie Lokier
2009-06-25 4:41 ` Amit Shah
2009-06-25 4:41 ` Amit Shah
2009-06-25 4:41 ` Amit Shah
2009-06-24 17:50 ` Jamie Lokier
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=200906231516.15470.paul@codesourcery.com \
--to=paul@codesourcery.com \
--cc=amit.shah@redhat.com \
--cc=borntraeger@de.ibm.com \
--cc=kvm@vger.kernel.org \
--cc=qemu-devel@nongnu.org \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.