From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1O7ArT-0007bq-JR for qemu-devel@nongnu.org; Wed, 28 Apr 2010 13:15:47 -0400 Received: from [140.186.70.92] (port=55846 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1O7ArS-0007bK-0Q for qemu-devel@nongnu.org; Wed, 28 Apr 2010 13:15:47 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1O7ArP-0000X1-Gx for qemu-devel@nongnu.org; Wed, 28 Apr 2010 13:15:45 -0400 Received: from mx1.redhat.com ([209.132.183.28]:24936) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1O7ArP-0000Wt-9c for qemu-devel@nongnu.org; Wed, 28 Apr 2010 13:15:43 -0400 Date: Wed, 28 Apr 2010 22:04:16 +0530 From: Amit Shah Message-ID: <20100428163416.GN14807@amit-x200.redhat.com> References: <1272371652-23087-13-git-send-email-amit.shah@redhat.com> <1272371652-23087-14-git-send-email-amit.shah@redhat.com> <1272371652-23087-15-git-send-email-amit.shah@redhat.com> <1272371652-23087-16-git-send-email-amit.shah@redhat.com> <1272371652-23087-17-git-send-email-amit.shah@redhat.com> <1272371652-23087-18-git-send-email-amit.shah@redhat.com> <1272371652-23087-19-git-send-email-amit.shah@redhat.com> <4BD721C7.8010102@codemonkey.ws> <20100428072921.GT27314@amit-x200.redhat.com> <4BD83767.7040806@codemonkey.ws> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4BD83767.7040806@codemonkey.ws> Subject: [Qemu-devel] Re: [PATCH v6 18/18] virtio-serial-bus: wake up iothread upon guest read notification List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: Marcelo Tosatti , qemu list , Juan Quintela On (Wed) Apr 28 2010 [08:25:59], Anthony Liguori wrote: > On 04/28/2010 02:29 AM, Amit Shah wrote: >> On (Tue) Apr 27 2010 [12:41:27], Anthony Liguori wrote: >> >>> On 04/27/2010 07:34 AM, Amit Shah wrote: >>> >>>> From: Marcelo Tosatti >>>> >>>> Wake up iothread when buffers are consumed. >>>> >>>> Signed-off-by: Marcelo Tosatti >>>> Signed-off-by: Amit Shah >>>> >>>> >>> What's the race here? This looks very odd to me. >>> >> When the guest indicates it has added buffers to the vq, the iothread >> can then start consuming them. Without this notification, the iothread >> only polls for free buffers when it times out or gets woken up >> otherwise. >> > > When you say, polls for free buffers, what do you mean by that? > > You mean, there's a can_read() somewhere that checks for free buffers? Not just can_read(), in-qemu applications too can query when writes to guests will go through. > I think switching to qemu_set_fd_handler() would be a better solution. Hm, there's no fd here. How to signal to apps (ports) when a guest becomes writable? Amit