From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49346) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VMCdS-0003SS-0f for qemu-devel@nongnu.org; Wed, 18 Sep 2013 03:57:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VMCdM-0006YT-1E for qemu-devel@nongnu.org; Wed, 18 Sep 2013 03:57:17 -0400 Received: from mx1.redhat.com ([209.132.183.28]:18686) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VMCdL-0006Uz-LX for qemu-devel@nongnu.org; Wed, 18 Sep 2013 03:57:11 -0400 Message-ID: <52395CD5.7030203@redhat.com> Date: Wed, 18 Sep 2013 09:57:09 +0200 From: Paolo Bonzini MIME-Version: 1.0 References: <1376239405-4084-1-git-send-email-alex@alex.org.uk> <520A2511.4000709@siemens.com> <307AE3B5-FAFE-4E9C-A336-092245809528@alex.org.uk> <520A33B4.9030207@siemens.com> <14A27B81-C9FD-4EE5-BC4A-7106CD70527A@alex.org.uk> <520A3888.9020307@siemens.com> <20130813142204.GA3008@stefanha-thinkpad.redhat.com> <52387EC2.6000502@siemens.com> <5238810E.1050304@redhat.com> <5238883A.90607@siemens.com> <52388BAA.1060207@redhat.com> <6BF1E4A0-946C-402A-9225-0B1DE04DBC54@alex.org.uk> In-Reply-To: <6BF1E4A0-946C-402A-9225-0B1DE04DBC54@alex.org.uk> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [RFC] [PATCHv10 00/31] aio / timers: Add AioContext timers and use ppoll List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alex Bligh Cc: Kevin Wolf , Anthony Liguori , Jan Kiszka , qemu-devel@nongnu.org, liu ping fan , Stefan Hajnoczi , Stefan Hajnoczi , MORITA Kazutaka , rth@twiddle.net Il 17/09/2013 19:32, Alex Bligh ha scritto: > > On 17 Sep 2013, at 18:04, Paolo Bonzini wrote: > >> Alex, what's missing before block.c and QED can use aio_timer_new on >> the main AioContext, instead of timer_new? > > If we assume at this stage the threading is no different, very little > I think. Off the top of my head it should be a case of: > > 1. Audit timer routines to ensure they are safe to call from > inside aio_poll rather than mainloop. EG if there is a timer > routine that itself calls aio_poll, that would presumably > be bad. A quick check suggests we need to think about the > coroutine stuff carefully here if we don't want recursion. > > 2. Replace timer_new by aio_timer_new > > 3. Cross fingers and hope for the best. Yes, that was my understanding too. Can we do it for 1.7? > I think block/iscsi.c needs doing too. > > If we're worried about threading changes, then I'm not sure > how much of the thread safety stuff has been pulled to master, > plus someone needs to audit thread safety for use_icount=1. Nothing has. use_icount=1 is still on my todo list. Paolo