All of lore.kernel.org
 help / color / mirror / Atom feed
From: Anthony Liguori <anthony@codemonkey.ws>
To: Amit Shah <amit.shah@redhat.com>
Cc: qemu-devel@nongnu.org, kvm@vger.kernel.org,
	virtualization@lists.linux-foundation.org
Subject: Re: Extending virtio_console to support multiple ports
Date: Mon, 31 Aug 2009 08:17:21 -0500	[thread overview]
Message-ID: <4A9BCD61.2040903@codemonkey.ws> (raw)
In-Reply-To: <20090830131738.GC3401@amit-x200.redhat.com>

Amit Shah wrote:
>> No flags, assume it's a streaming protocol and don't assume anything  
>> about message sizes.  IOW, when you send clipboard data, send size and  
>> then the data.  QEMU consumes bytes until it reaches size.
>>     
>
> Same intent but a different method: I'll have to specify that particular
> data is "size" and that data after this special data is the actual data
> stream.
>   

Sounds like every stream protocol in existence :-)

>>> - A lock has to be introduced to fetch one unused buffer from the list
>>>   and pass it on to the host. And this lock has to be a spinlock, just
>>>   because writes can be called from irq context.
>>>       
>> I don't see a problem here.
>>     
>
> You mean you don't see a problem in using a spinlock vs not using one?
>   

Right.  This isn't a fast path.

> Userspace will typically send the entire buffer to be transmitted in one
> system call. If it's large, the system call will have to be broken into
> several. This results in multiple guest system calls, each one to be
> handled with a spinlock held.
>
> Compare this with the entire write handled in one system call in the
> current method.
>   

Does it matter?  This isn't a fast path.

Regards,

Anthony Liguori

WARNING: multiple messages have this Message-ID (diff)
From: Anthony Liguori <anthony@codemonkey.ws>
To: Amit Shah <amit.shah@redhat.com>
Cc: qemu-devel@nongnu.org, kvm@vger.kernel.org,
	virtualization@lists.linux-foundation.org
Subject: [Qemu-devel] Re: Extending virtio_console to support multiple ports
Date: Mon, 31 Aug 2009 08:17:21 -0500	[thread overview]
Message-ID: <4A9BCD61.2040903@codemonkey.ws> (raw)
In-Reply-To: <20090830131738.GC3401@amit-x200.redhat.com>

Amit Shah wrote:
>> No flags, assume it's a streaming protocol and don't assume anything  
>> about message sizes.  IOW, when you send clipboard data, send size and  
>> then the data.  QEMU consumes bytes until it reaches size.
>>     
>
> Same intent but a different method: I'll have to specify that particular
> data is "size" and that data after this special data is the actual data
> stream.
>   

Sounds like every stream protocol in existence :-)

>>> - A lock has to be introduced to fetch one unused buffer from the list
>>>   and pass it on to the host. And this lock has to be a spinlock, just
>>>   because writes can be called from irq context.
>>>       
>> I don't see a problem here.
>>     
>
> You mean you don't see a problem in using a spinlock vs not using one?
>   

Right.  This isn't a fast path.

> Userspace will typically send the entire buffer to be transmitted in one
> system call. If it's large, the system call will have to be broken into
> several. This results in multiple guest system calls, each one to be
> handled with a spinlock held.
>
> Compare this with the entire write handled in one system call in the
> current method.
>   

Does it matter?  This isn't a fast path.

Regards,

Anthony Liguori

  reply	other threads:[~2009-08-31 13:17 UTC|newest]

Thread overview: 90+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-08-25  6:17 Extending virtio_console to support multiple ports Amit Shah
2009-08-25  6:17 ` [Qemu-devel] " Amit Shah
2009-08-25  6:17 ` [PATCH] virtio_console: Add interface for guest and host communication Amit Shah
2009-08-25  6:17 ` Amit Shah
2009-08-25  6:17   ` [Qemu-devel] " Amit Shah
2009-08-25  6:17   ` [PATCH 1/3] char: Emit 'CLOSED' events on char device close Amit Shah
2009-08-25  6:17     ` [Qemu-devel] " Amit Shah
2009-08-25  6:17     ` [PATCH 2/3] virtio-console: rename dvq to ovq Amit Shah
2009-08-25  6:17       ` [Qemu-devel] " Amit Shah
2009-08-25  6:17     ` Amit Shah
2009-08-25  6:17   ` [PATCH 1/3] char: Emit 'CLOSED' events on char device close Amit Shah
2009-08-25  8:16 ` [PATCH 3/3] virtio-console: Add interface for generic guest-host communication Amit Shah
2009-08-25  8:16 ` Amit Shah
2009-08-25  8:16   ` [Qemu-devel] " Amit Shah
2009-08-26 11:27 ` Extending virtio_console to support multiple ports Amit Shah
2009-08-26 11:27   ` [Qemu-devel] " Amit Shah
2009-08-26 15:45   ` Amit Shah
2009-08-26 15:45     ` [Qemu-devel] " Amit Shah
2009-08-26 15:45     ` Amit Shah
2009-08-27  4:07     ` Benjamin Herrenschmidt
2009-08-27  4:07       ` [Qemu-devel] " Benjamin Herrenschmidt
2009-08-27  4:07       ` Benjamin Herrenschmidt
2009-08-27  6:51       ` [Qemu-devel] " Amit Shah
2009-08-27  6:51         ` Amit Shah
2009-08-27  6:51       ` Amit Shah
2009-08-27  9:08       ` Alan Cox
2009-08-27  9:08       ` Alan Cox
2009-08-27  9:08         ` [Qemu-devel] " Alan Cox
2009-08-27  9:08         ` Alan Cox
2009-08-27  9:27         ` Benjamin Herrenschmidt
2009-08-27  9:27         ` Benjamin Herrenschmidt
2009-08-27  9:27           ` [Qemu-devel] " Benjamin Herrenschmidt
2009-08-27  9:27           ` Benjamin Herrenschmidt
2009-08-27 11:45           ` [PATCH] hvc_console: provide (un)locked version for hvc_resize() Hendrik Brueckner
2009-08-27 11:45             ` [Qemu-devel] " Hendrik Brueckner
2009-08-27 11:45             ` Hendrik Brueckner
2009-08-27 11:45           ` Hendrik Brueckner
2009-08-29  1:15         ` [Qemu-devel] Re: Extending virtio_console to support multiple ports Jamie Lokier
2009-08-29  1:15           ` Jamie Lokier
2009-08-29  1:15         ` Jamie Lokier
2009-08-27  4:07     ` Benjamin Herrenschmidt
2009-08-27  5:04     ` Michael Ellerman
2009-08-27  5:04       ` [Qemu-devel] " Michael Ellerman
2009-08-27  5:04       ` Michael Ellerman
2009-08-27  6:52       ` Amit Shah
2009-08-27  6:52       ` Amit Shah
2009-08-27  6:52         ` [Qemu-devel] " Amit Shah
2009-08-27  6:52         ` Amit Shah
2009-08-27 14:13         ` Ryan Arnold
2009-08-27 14:13           ` [Qemu-devel] " Ryan Arnold
2009-08-27 14:13           ` Ryan Arnold
2009-08-27 14:13         ` Ryan Arnold
2009-08-27  5:04     ` Michael Ellerman
2009-08-26 15:45   ` Amit Shah
2009-08-28 17:00   ` Anthony Liguori
2009-08-28 17:00     ` [Qemu-devel] " Anthony Liguori
2009-08-30 10:10     ` Amit Shah
2009-08-30 10:10       ` [Qemu-devel] " Amit Shah
2009-08-30 12:48       ` Anthony Liguori
2009-08-30 12:48         ` [Qemu-devel] " Anthony Liguori
2009-08-30 13:17         ` Amit Shah
2009-08-30 13:17           ` [Qemu-devel] " Amit Shah
2009-08-31 13:17           ` Anthony Liguori [this message]
2009-08-31 13:17             ` Anthony Liguori
2009-08-31 13:51             ` Amit Shah
2009-08-31 13:51             ` Amit Shah
2009-08-31 13:51               ` [Qemu-devel] " Amit Shah
2009-08-31 14:21               ` Anthony Liguori
2009-08-31 14:21               ` Anthony Liguori
2009-08-31 14:21                 ` [Qemu-devel] " Anthony Liguori
2009-08-31 14:31                 ` Amit Shah
2009-08-31 14:31                 ` Amit Shah
2009-08-31 14:31                   ` [Qemu-devel] " Amit Shah
2009-08-31 15:56                   ` Anthony Liguori
2009-08-31 15:56                     ` [Qemu-devel] " Anthony Liguori
2009-08-31 16:19                     ` Amit Shah
2009-08-31 16:19                     ` Amit Shah
2009-08-31 16:19                       ` [Qemu-devel] " Amit Shah
2009-08-31 16:37                       ` Anthony Liguori
2009-08-31 16:37                       ` Anthony Liguori
2009-08-31 16:37                         ` [Qemu-devel] " Anthony Liguori
2009-09-21  5:20                         ` Rusty Russell
2009-09-21  5:20                         ` Rusty Russell
2009-09-21  5:20                           ` [Qemu-devel] " Rusty Russell
2009-08-31 13:17           ` Anthony Liguori
2009-08-30 13:17         ` Amit Shah
2009-08-30 12:48       ` Anthony Liguori
2009-08-30 10:10     ` Amit Shah
2009-08-26 11:27 ` Amit Shah
  -- strict thread matches above, loose matches on Subject: below --
2009-08-25  6:17 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=4A9BCD61.2040903@codemonkey.ws \
    --to=anthony@codemonkey.ws \
    --cc=amit.shah@redhat.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.