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

Reply via email to