From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36290) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YB2qD-0006Td-2W for qemu-devel@nongnu.org; Tue, 13 Jan 2015 09:53:10 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YB2qA-000741-Au for qemu-devel@nongnu.org; Tue, 13 Jan 2015 09:53:09 -0500 Received: from mail-wi0-x229.google.com ([2a00:1450:400c:c05::229]:53821) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YB2qA-00072B-4g for qemu-devel@nongnu.org; Tue, 13 Jan 2015 09:53:06 -0500 Received: by mail-wi0-f169.google.com with SMTP id n3so5529135wiv.0 for ; Tue, 13 Jan 2015 06:53:05 -0800 (PST) Sender: Paolo Bonzini Message-ID: <54B5314D.3090905@redhat.com> Date: Tue, 13 Jan 2015 15:53:01 +0100 From: Paolo Bonzini MIME-Version: 1.0 References: <20150112115944.3504.66763.stgit@PASHA-ISP> <20150112120111.3504.51955.stgit@PASHA-ISP> <54B3BA70.3080408@redhat.com> <000401d02f11$88a9c000$99fd4000$@Dovgaluk@ispras.ru> <54B4E7F2.1040200@redhat.com> <37329.9191626304$1421159249@news.gmane.org> In-Reply-To: <37329.9191626304$1421159249@news.gmane.org> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [RFC PATCH v7 15/21] replay: checkpoints List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Pavel Dovgaluk , qemu-devel@nongnu.org Cc: peter.maydell@linaro.org, peter.crosthwaite@xilinx.com, mark.burton@greensocs.com, real@ispras.ru, batuzovk@ispras.ru, maria.klimushenkova@ispras.ru, alex.bennee@linaro.org, afaerber@suse.de, fred.konrad@greensocs.com On 13/01/2015 15:26, Pavel Dovgaluk wrote: >> > Should you instead distinguish which TimerListGroup is being run? Then >> > main loop would checkpoint once for every TimerListGroup (which means >> > twice). > Then I'll have to introduce some kind of deterministic ID for them > and new asynchronous event to be saved instead of common checkpoints. > Because these calls can be invoked in any order. > But I have no idea of how to make such a deterministic ID. There is currently one TimerListGroup per iothread object, and two more. You can start by not supporting iothreads, or you can give a deterministic ID to iothreads. Thread pools are similar to TimerListGroups, except there is only one global pool instead of two. Paolo