From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=43188 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Psvl9-0006OD-3L for qemu-devel@nongnu.org; Fri, 25 Feb 2011 06:22:56 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Psvl7-00088B-Vv for qemu-devel@nongnu.org; Fri, 25 Feb 2011 06:22:54 -0500 Received: from smtp.ispras.ru ([83.149.198.201]:58313) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Psvl7-00081U-PI for qemu-devel@nongnu.org; Fri, 25 Feb 2011 06:22:53 -0500 From: "Pavel Dovgaluk" References: <4D5BC467.4070804@redhat.com> <4D5E4271.80501@redhat.com> <4D5E8031.5020402@codemonkey.ws> <4D637A20.9020307@redhat.com> <4D650F10.3060900@redhat.com> <4D651858.9040106@codemonkey.ws> <4D652675.1070908@redhat.com> <4D652868.8030908@codemonkey.ws> <4D6529A9.3090509@redhat.com> <4D652CD3.5030806@codemonkey.ws> <4D652FBA.9000104@redhat.com> In-Reply-To: <4D652FBA.9000104@redhat.com> Subject: RE: [Qemu-devel] Re: Strategic decision: COW format Date: Fri, 25 Feb 2011 14:20:55 +0300 Message-ID: <000001cbd4de$11d3c2f0$357b48d0$@Dovgaluk@ispras.ru> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Language: ru List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: 'Avi Kivity' , 'Anthony Liguori' Cc: 'Kevin Wolf' , 'Chunqiang Tang' , qemu-devel@nongnu.org, 'Markus Armbruster' , 'Stefan Hajnoczi' > On 02/23/2011 05:50 PM, Anthony Liguori wrote: > >> I still don't see. What would you do with thousands of checkpoints? > > > > > > For reverse debugging, if you store checkpoints at a rate of save, > > every 10ms, and then degrade to storing every 100ms after 1 second, > > etc. you'll have quite a large number of snapshots pretty quickly. > > The idea of snapshotting with reverse debugging is that instead of > > undoing every instruction, you can revert to the snapshot before, and > > then replay the instruction stream until you get to the desired point > > in time. > > You cannot replay the instruction stream since inputs (interrupts, rdtsc > or other timers, I/O) will be different. You need Kemari for this. I've created the technology for replaying instruction stream and all of the inputs. This technology is similar to deterministic replay in VMWare. Now I need something to save machine state in many checkpoints to implement reverse debugging. I think COW2 may be useful for it (or I should create something like this). Pavel Dovgaluk