From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MgGfK-0003AT-H1 for qemu-devel@nongnu.org; Wed, 26 Aug 2009 07:27:46 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MgGfF-00037r-KB for qemu-devel@nongnu.org; Wed, 26 Aug 2009 07:27:45 -0400 Received: from [199.232.76.173] (port=55061 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MgGfF-00037d-Dp for qemu-devel@nongnu.org; Wed, 26 Aug 2009 07:27:41 -0400 Received: from mx1.redhat.com ([209.132.183.28]:16759) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MgGfE-0000md-Ua for qemu-devel@nongnu.org; Wed, 26 Aug 2009 07:27:41 -0400 Date: Wed, 26 Aug 2009 16:57:18 +0530 From: Amit Shah Message-ID: <20090826112718.GA11117@amit-x200.redhat.com> References: <1251181044-3696-1-git-send-email-amit.shah@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1251181044-3696-1-git-send-email-amit.shah@redhat.com> 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: qemu-devel@nongnu.org, kvm@vger.kernel.org, virtualization@lists.linux-foundation.org On (Tue) Aug 25 2009 [11:47:20], Amit Shah wrote: > > Hello all, > > Here is a new iteration of the patch series that implements a > transport for guest and host communications. > > The code has been updated to reuse the virtio-console device instead > of creating a new virtio-serial device. And the problem now is that hvc calls the put_chars function with spinlocks held and we now allocate pages in send_buf(), called from put_chars. A few solutions: - Keep things as they are, virtio_console.c remains as it is and virtio_serial.c gets added - Have separate write paths for console devices in virtio_console.c, which would beat the purpose of merging the two drivers and then they'd be better off standalone - Convert hvc's usage of spinlocks to mutexes. I've no idea how this will play out; I'm no expert here. But I did try doing this and so far it all looks OK. No lockups, lockdep warnings, nothing. I have full debugging enabled. But this doesn't mean it's right. Comments? Amit