From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35755) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V0qKO-0006BN-P8 for qemu-devel@nongnu.org; Sun, 21 Jul 2013 05:53:21 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1V0qKN-0000kG-7S for qemu-devel@nongnu.org; Sun, 21 Jul 2013 05:53:20 -0400 Received: from mail.avalus.com ([2001:41c8:10:1dd::10]:54113) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V0qKN-0000kA-1N for qemu-devel@nongnu.org; Sun, 21 Jul 2013 05:53:19 -0400 Date: Sun, 21 Jul 2013 10:53:09 +0100 From: Alex Bligh Message-ID: <429B80A9A0DBF7FBF05E7C5A@nimrod.local> In-Reply-To: <1374396185-10870-1-git-send-email-pingfank@linux.vnet.ibm.com> References: <1374396185-10870-1-git-send-email-pingfank@linux.vnet.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline Subject: Re: [Qemu-devel] [RFC 0/8] arm AioContext with its own timer stuff Reply-To: Alex Bligh List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Liu Ping Fan , qemu-devel@nongnu.org Cc: Kevin Wolf , Anthony Liguori , Jan Kiszka , Stefan Hajnoczi , Alex Bligh , Paolo Bonzini Liu, --On 21 July 2013 16:42:57 +0800 Liu Ping Fan wrote: > Currently, the timers run on iothread within BQL, so virtio-block > dataplane can not use throttle, as Stefan Hajnoczi pointed out in his > patches to port dataplane onto block layer.(Thanks, Stefan) To enable > this feature, I plan to enable timers to run on AioContext's thread. And > maybe in future, hpet can run with its dedicated thread too. > > Also, I see Alex Bligh is on the same effort by another method,(it is a > good idea) "[RFC] aio/async: Add timed bottom-halves". Stefan & Paolo did not like that method much, so I did a third method (posted yesterday) suggested by Stefan which adds a clock to AioContext (to which timers can be attached), deletes ALL the alarm_timer stuff (which was very cathartic), uses timeouts on the g_poll, and adds ppoll where this is available. Series at: http://lists.nongnu.org/archive/html/qemu-devel/2013-07/msg03334.html I suspect this also overlaps with your code. So now we have 3 methods to do similar things! One advantage of my approach is that it removes more code than it adds (by quite a margin). However, alarm timers could have been left in. What's the advantage in giving an AioContext its own alarm timer as opposed to just its own clock? -- Alex Bligh