From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39362) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X0U9Q-0006m3-IS for qemu-devel@nongnu.org; Fri, 27 Jun 2014 07:17:11 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1X0U9K-0004IL-Hm for qemu-devel@nongnu.org; Fri, 27 Jun 2014 07:17:04 -0400 Received: from mail.ispras.ru ([83.149.199.45]:57246) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X0U9K-0004HQ-7K for qemu-devel@nongnu.org; Fri, 27 Jun 2014 07:16:58 -0400 From: "Pavel Dovgaluk" References: <53acfed7.e3538c0a.39e2.ffffb619SMTPIN_ADDED_BROKEN@mx.google.com> <53AD21AB.1040609@greensocs.com> <53ad4904.8360e50a.0f7f.ffffce7dSMTPIN_ADDED_BROKEN@mx.google.com> In-Reply-To: Date: Fri, 27 Jun 2014 15:17:01 +0400 Message-ID: <008501cf91f9$51818280$f4848780$@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] Reverse execution and deterministic replay List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: 'Peter Maydell' Cc: 'Paolo Bonzini' , 'Peter Crosthwaite' , 'Mark Burton' , 'QEMU Developers' , 'Frederic Konrad' > On 27 June 2014 11:35, Pavel Dovgaluk wrote: > > The major disadvantage of icount is that it's updated only on TB boundaries. > > When one instruction in the middle of the block uses virtual clock, it could > > have different values for different divisions of the code to TB. > > This is only true if the instruction is incorrectly not > marked as being "I/O". The idea behind icount is that in > general we update it on TB boundaries (it's much faster > than doing it once per insn) but for those places which > do turn out to need an exact icount we then retranslate > the block to get the instruction-to-icount-adjustment > mapping. I see. But if we want virtual clock in "real" mode then we still should create new timer (based on icount code). > It wouldn't surprise me if this turned out to have some > bugs in corner cases, but fixing these issues seems to > me like a much better design than ignoring icount completely > and reimplementing a second instruction counter. When we started an implementation, we didn't have enough resources to fix all such bugs. That is why we selected such conservative approach. But I believe that in future we will adopt the icount for replay purposes. Pavel Dovgaluk