From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48204) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZXqO2-0007RP-3H for qemu-devel@nongnu.org; Fri, 04 Sep 2015 08:46:35 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZXqNy-0002Qm-Qo for qemu-devel@nongnu.org; Fri, 04 Sep 2015 08:46:34 -0400 Received: from greensocs.com ([193.104.36.180]:55561) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZXqNy-0002QY-Fi for qemu-devel@nongnu.org; Fri, 04 Sep 2015 08:46:30 -0400 Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2102\)) From: Mark Burton In-Reply-To: <87pp1yqrza.fsf@fimbulvetr.bsc.es> Date: Fri, 4 Sep 2015 14:46:25 +0200 Content-Transfer-Encoding: quoted-printable Message-Id: References: <87fv2uipzf.fsf@linaro.org> <1a1bb2ba6ea1cb0c5f4e17199f2cd9a4@ispras.ru> <87pp1yqrza.fsf@fimbulvetr.bsc.es> Subject: Re: [Qemu-devel] MTTCG Tasks (kvmforum summary) List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?utf-8?Q?Llu=C3=ADs_Vilanova?= Cc: mttcg@greensocs.com, Alexander Spyridakis , Claudio Fontana , qemu-devel , Alvise Rigo , "Emilio G. Cota" , dovgaluk , Pbonzini@redhat.com, =?utf-8?Q?Alex_Benn=C3=A9e?= , =?utf-8?Q?KONRAD_Fr=C3=A9d=C3=A9ric?= > On 4 Sep 2015, at 14:38, Llu=C3=ADs Vilanova = wrote: >=20 > dovgaluk writes: >=20 >> Hi! >> Alex Benn=C3=A9e =D0=BF=D0=B8=D1=81=D0=B0=D0=BB 2015-09-04 10:49: >>> * What to do about icount? >>>=20 >>> What is the impact of multi-thread on icount? Do we need to disable = it >>> for MTTCG or can it be correct per-cpu? Can it be updated lock-step? >=20 >> Why can't we have separate icount for each CPU? >> Then virtual timer will be assigned to one of them. >=20 > My understanding is that icount means by deasign that time should be > synchronized between cpus, where the number of executed instructions = is the time > unit. If all elements worked under this assumption (I'm afraid that's = not the > case for I/O devices), it should be possible to reproduce executions = by setting > icount to 1. >=20 > Now, MTTCG faces the same icount accuracy problems that the current = TCG > implementation deals with (only at different scale). The naive = implementation is > to execute 1 instruction per CPU in lockstep. TCG currently relaxes = this at the > translation block level. >=20 > The MTTCG implementation could do something similar, but just at a = different > (configurable?) granularity. Every N per-cpu instructions, synchronize = all CPUs > until each has, at least, arrived at that time step, then proceed with = the next > batch. Ideally, this synchronization delay (N) could be adapted = dynamically. This is often called a Quantum. Cheers Mark >=20 > My half cent. >=20 > Lluis >=20 > --=20 > "And it's much the same thing with knowledge, for whenever you learn > something new, the whole world becomes that much richer." > -- The Princess of Pure Reason, as told by Norton Juster in The = Phantom > Tollbooth +44 (0)20 7100 3485 x 210 +33 (0)5 33 52 01 77x 210 +33 (0)603762104 mark.burton