Abhishek, why you want to run Atomic CPU with cache? On 11 Aug 2011, at 02:44, Abhishek Rawat wrote:
> Hi Iordan, > > Here is the patch for checkpointing caches. I was working on the current > stable revision 8337:b9ba22cb23f2. This works for Simple Atomic CPU. > > -Abhishek > On Wed, Aug 10, 2011 at 9:43 AM, Ali Saidi <[email protected]> wrote: > I can think of very few reasons why you would want to have caches in a > checkpoint. You can add them when you restore from the checkpoint. > > Ali > > Sent from my ARM powered device > > On Aug 10, 2011, at 2:56 AM, Iordan Alexandru <[email protected]> wrote: > >> Hello >> >> Thank you for your reply. >> >> Is there no way to get a valid checkpoint in a simulation with caches >> enabled? Is there nothing that I can do (hack)? >> >> Alexandru >> >> From: Ali Saidi <[email protected]> >> To: Iordan Alexandru <[email protected]>; gem5 users mailing list >> <[email protected]> >> Sent: Tuesday, August 9, 2011 9:31 PM >> Subject: Re: [gem5-users] About checkpointing >> >> You can't checkpoint the simulation with caches enabled. Any dirty state in >> the caches isn't saved in the checkpoint. >> >> Ali >> >> >> On Tue, 9 Aug 2011 03:29:47 -0700 (PDT), Iordan Alexandru <[email protected]> >> wrote: >>> Hello >>> I have been having problems using the checkpoint feature in GEM5. I tried >>> to run a very simple scenario: >>> 1. I launched the simulator with the command: >>> ./build/ALPHA_FS/gem5.opt --outdir=test/ configs/example/fs.py -n 2 >>> --caches --l2cache >>> 2. using m5term I created a checkpoint (witch was created with no errors) >>> and then I exited the simulation >>> 3. I tried to restore using the checkpoint: >>> ./build/ALPHA_FS/gem5.opt --outdir=test/ configs/example/fs.py -n 2 >>> --caches --l2cache -r 1 >>> The message that I got in m5term is the following: >>> ==== m5 slave terminal: Terminal 0 ==== >>> Unable to handle kernel paging request at virtual address 000000011fd2dd40 >>> Fixing recursive fault but reboot is needed! >>> Unable to handle kernel paging request at virtual address 0000000000000004 >>> CPU 0 mount(761): Oops 0 >>> pc = [] ra = [] ps = 0000 Not tainted >>> pc is at do_exit+0xf4/0x950 >>> ra is at do_exit+0x80/0x950 >>> v0 = 0000000000000007 t0 = 0000000000000004 t1 = fffffc001f4a96d0 >>> t2 = fffffc000085eca0 t3 = 0000000000000000 t4 = fffffc00008191c0 >>> t5 = 0000000000000ad7 t6 = 0000000000000031 t7 = fffffc001f354000 >>> s0 = 0000000000000009 s1 = fffffc001f4a9500 s2 = 0000000000000000 >>> s3 = 0000000000000000 s4 = 0000000000000000 s5 = 000000011fd2dd40 >>> s6 = 0000000000000000 >>> a0 = fffffc001f4a9500 a1 = fffffc000083c108 a2 = ffffffffffffffff >>> a3 = 0000000000000000 a4 = 0000000000000008 a5 = 0000000000000009 >>> t8 = 0000000000000000 t9 = fffffc00006c9534 t10= 0000000000007fff >>> t11= 00000000000003ff pv = fffffc000034f030 at = 0000000000000000 >>> gp = fffffc000085bf40 sp = fffffc001f357da0 >>> Trace: >>> [] do_page_fault+0x3c0/0x4a0 >>> [] do_page_fault+0x3ac/0x4a0 >>> [] entMM+0x9c/0xc0 >>> [] do_group_exit+0x54/0x100 >>> >>> Code: 402203a1 e4200001 b44400b0 a42a0358 20210004 60004000 40603122 >>> Fixing recursive fault but reboot is needed! >>> Unable to handle kernel paging request at virtual address 0000000000000004 >>> CPU 0 mount(761): Oops 0 >>> pc = [] ra = [] ps = 0000 Tainted: G D >>> pc is at do_exit+0xf4/0x950 >>> ra is at do_exit+0x80/0x950 >>> v0 = 0000000000000007 t0 = 0000000000000004 t1 = fffffc001f4a96d0 >>> t2 = fffffc000085eca0 t3 = 0000000000000000 t4 = fffffc00008191c0 >>> t5 = 0000000000000fed t6 = 0000000000000031 t7 = fffffc001f354000 >>> s0 = 000000000000000b s1 = fffffc001f4a9500 s2 = 0000000000000000 >>> s3 = fffffc001f357c38 s4 = 0000000000000000 s5 = 0000000000000004 >>> s6 = 0000000000000000 >>> a0 = fffffc001f4a9500 a1 = fffffc000083c108 a2 = ffffffffffffffff >>> a3 = 0000000000000000 a4 = 0000000000000008 a5 = 0000000000000008 >>> t8 = 0000000000000000 t9 = fffffc00006c9534 t10= 0000000000007fff >>> t11= 00000000000003ff pv = fffffc000034f030 at = 0000000000000000 >>> gp = fffffc000085bf40 sp = fffffc001f357b10 >>> Trace: >>> [] die_if_kernel+0x12c/0x130 >>> [] die_if_kernel+0xd4/0x130 >>> [] do_page_fault+0x3ac/0x4a0 >>> [] entMM+0x9c/0xc0 >>> [] release_console_sem+0x20c/0x310 >>> [] release_console_sem+0x2b4/0x310 >>> [] vprintk+0x224/0x530 >>> [] vprintk+0x224/0x530 >>> [] do_exit+0x80/0x950 >>> [] exit_signals+0x0/0x190 >>> [] do_exit+0xf4/0x950 >>> [] do_page_fault+0x3c0/0x4a0 >>> [] do_page_fault+0x3ac/0x4a0 >>> [] entMM+0x9c/0xc0 >>> [] do_group_exit+0x54/0x100 >>> >>> Code: 402203a1 e4200001 b44400b0 a42a0358 20210004 60004000 40603122 >>> Did I did something wrong here? Do I need to add something in the >>> configuration file before I can use the checkpoint feature? >>> Thank you in advance! >>> Alexandru >>> >>> die_if_kernel recursion detected. >> >> >> > > _______________________________________________ > gem5-users mailing list > [email protected] > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users > > > > -- > -Abhishek > > Graduate Student > Computer Science > University of Virginia > > --------------------------------------------------------------------------------------------------------------------- > simplicity is the ultimate sophistication > -Leonardo da Vinci > > <checkpointing_caches.patch>_______________________________________________ > gem5-users mailing list > [email protected] > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users _______________________________________________ gem5-users mailing list [email protected] http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
