From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Mi6lI-0006dM-7k for qemu-devel@nongnu.org; Mon, 31 Aug 2009 09:17:32 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Mi6lC-0006cg-On for qemu-devel@nongnu.org; Mon, 31 Aug 2009 09:17:30 -0400 Received: from [199.232.76.173] (port=36355 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Mi6lC-0006cX-Jx for qemu-devel@nongnu.org; Mon, 31 Aug 2009 09:17:26 -0400 Received: from mail-yx0-f181.google.com ([209.85.210.181]:63393) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Mi6lC-00028I-C8 for qemu-devel@nongnu.org; Mon, 31 Aug 2009 09:17:26 -0400 Received: by yxe11 with SMTP id 11so1018345yxe.4 for ; Mon, 31 Aug 2009 06:17:24 -0700 (PDT) Message-ID: <4A9BCD61.2040903@codemonkey.ws> Date: Mon, 31 Aug 2009 08:17:21 -0500 From: Anthony Liguori MIME-Version: 1.0 References: <1251181044-3696-1-git-send-email-amit.shah@redhat.com> <20090826112718.GA11117@amit-x200.redhat.com> <4A980D18.30106@codemonkey.ws> <20090830101057.GB32563@amit-x200.redhat.com> <4A9A7525.6010707@codemonkey.ws> <20090830131738.GC3401@amit-x200.redhat.com> In-Reply-To: <20090830131738.GC3401@amit-x200.redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] Re: Extending virtio_console to support multiple ports List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Amit Shah Cc: qemu-devel@nongnu.org, kvm@vger.kernel.org, virtualization@lists.linux-foundation.org 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