From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44238) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YIG7X-0004wp-4Q for qemu-devel@nongnu.org; Mon, 02 Feb 2015 07:28:52 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YIG7T-0002ny-1b for qemu-devel@nongnu.org; Mon, 02 Feb 2015 07:28:50 -0500 Received: from mail.ispras.ru ([83.149.199.45]:46030) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YIG7S-0002nh-Qw for qemu-devel@nongnu.org; Mon, 02 Feb 2015 07:28:46 -0500 From: "Pavel Dovgaluk" References: <20150122085127.5276.53895.stgit@PASHA-ISP.def.inno> <20150122085215.5276.8878.stgit@PASHA-ISP.def.inno> <54C9FE31.4090404@redhat.com> In-Reply-To: <54C9FE31.4090404@redhat.com> Date: Mon, 2 Feb 2015 15:28:43 +0300 Message-ID: <001801d03ee3$c8cb7660$5a626320$@Dovgaluk@ispras.ru> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Content-Language: ru Subject: Re: [Qemu-devel] [RFC PATCH v8 08/21] cpu: replay instructions sequence List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: 'Paolo Bonzini' , qemu-devel@nongnu.org Cc: peter.maydell@linaro.org, peter.crosthwaite@xilinx.com, alex.bennee@linaro.org, mark.burton@greensocs.com, real@ispras.ru, batuzovk@ispras.ru, maria.klimushenkova@ispras.ru, afaerber@suse.de, fred.konrad@greensocs.com > From: Paolo Bonzini [mailto:pbonzini@redhat.com] > On 22/01/2015 09:52, Pavel Dovgalyuk wrote: > > This patch adds calls to replay functions into the icount setup block. > > In record mode number of executed instructions is written to the log. > > In replay mode number of istructions to execute is taken from the replay log. > > > > Signed-off-by: Pavel Dovgalyuk > > --- > > cpu-exec.c | 1 + > > cpus.c | 28 ++++++++++++++++++---------- > > replay/replay.c | 24 ++++++++++++++++++++++++ > > replay/replay.h | 4 ++++ > > 4 files changed, 47 insertions(+), 10 deletions(-) > > > > diff --git a/cpu-exec.c b/cpu-exec.c > > index 49f01f5..99a0993 100644 > > --- a/cpu-exec.c > > +++ b/cpu-exec.c > > @@ -531,6 +531,7 @@ int cpu_exec(CPUArchState *env) > > } > > cpu->exception_index = EXCP_INTERRUPT; > > next_tb = 0; > > + qemu_notify_event(); > > Why is this needed? It is needed to wake up iothread in replay mode. Otherwise it waits for additional time and replay becomes too slow. > > > cpu_loop_exit(cpu); > > } > > break; Pavel Dovgalyuk