From mboxrd@z Thu Jan 1 00:00:00 1970 From: Amit Shah Subject: Re: Extending virtio_console to support multiple ports Date: Wed, 26 Aug 2009 16:57:18 +0530 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 To: qemu-devel@nongnu.org, kvm@vger.kernel.org, virtualization@lists.linux-foundation.org Return-path: Received: from mx1.redhat.com ([209.132.183.28]:16103 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756873AbZHZL1j (ORCPT ); Wed, 26 Aug 2009 07:27:39 -0400 Content-Disposition: inline In-Reply-To: <1251181044-3696-1-git-send-email-amit.shah@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: 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