Hi Kleovoulos,

Sorry for late reply.

I tried enabling debug flag (--debug-flags=Exec, LocalApic, Faults), and I
found that there are also page faults problem.
I looked into the kernel codes(from DPRINTF) where it goes into infinite
loop, and I realized that it proceeded to
__do_page_fault() -> .. -> __bad_area_nosemaphore() -> and kept hanging at
"no_context()".

I also saw your mailing thread
https://www.mail-archive.com/gem5-users@gem5.org/msg16145.html and I think
my problem are similar to you problem. However, I didn't understand how
this problem is related to the stack, according to reply of your mailing
thread. Because I made a checkpoint right after I booted. I mean I didn't
execute any benchmark or process.

I added my DPRINTF output below, and I hope to we can solve this problem.
This output appears repeatedly.

 21789 2957438088261250: Page-Fault: RIP 0xffffffff81069890: vector 14:
#PF(0x3) at 0xfffffe0000001fb0

 21790 2957438088257000: system.switch_cpus T0 : @no_context+48.32930
:   Microcode_ROM
: ldst   t0, HS:[t6] : MemRead :  A=0xfffffe0000001fb0

 21791 2957438088265250: system.switch_cpus T0 : @no_context+48.32890
:   Microcode_ROM
: slli   t4, t1, 0x4 : IntAlu :  D=0x00000000000000e0

 21792 2957438088265500: system.switch_cpus T0 : @no_context+48.32891
:   Microcode_ROM
: ld   t2, IDTR:[t4 + 0x8] : MemRead :  D=0x00000000ffffffff
A=0xfffffe00000000e8

 21793 2957438088265750: system.switch_cpus T0 : @no_context+48.32892
:   Microcode_ROM
: ld   t4, IDTR:[t4] : MemRead :  D=0x81a08e00001015b0 A=0xfffffe00000000e0

 21794 2957438088266000: system.switch_cpus T0 : @no_context+48.32893
:   Microcode_ROM
: chks   , t4b, 0x3 : IntAlu :

 21795 2957438088266250: system.switch_cpus T0 : @no_context+48.32894
:   Microcode_ROM
: srli   t10, t4, 0x10 : IntAlu :  D=0x000081a08e000010

 21796 2957438088266500: system.switch_cpus T0 : @no_context+48.32895
:   Microcode_ROM
: andi   t5, t10, 0xf8 : IntAlu :  D=0x0000000000000010

 21797 2957438088266750: system.switch_cpus T0 : @no_context+48.32896
:   Microcode_ROM
: andi   t0w, t10w, 0x4 : IntAlu :  D=0x0000000000000020

 21798 2957438088267000: system.switch_cpus T0 : @no_context+48.32897
:   Microcode_ROM
: br   0x8084 : No_OpClass :

 21799 2957438088267250: system.switch_cpus T0 : @no_context+48.32900
:   Microcode_ROM
: ld   t3, TSG:[t5] : MemRead :  D=0x00af9b000000ffff A=0xfffffe0000001010

 21800 2957438088267500: system.switch_cpus T0 : @no_context+48.32901
:   Microcode_ROM
: chks   , t3, 0x7 : IntAlu :

 21801 2957438088267750: system.switch_cpus T0 : @no_context+48.32902
:   Microcode_ROM
: wrdl   %ctrl145, t3, t10 : IntAlu :  D=0x000000000000abd0

 21802 2957438088268000: system.switch_cpus T0 : @no_context+48.32903
:   Microcode_ROM
: wrdh   t9, t4, t2 : IntAlu :  D=0xffffffff81a015b0

 21803 2957438088268250: system.switch_cpus T0 : @no_context+48.32904
:   Microcode_ROM
: rdsel   t11b, t11b, %ctrl128 : IntAlu :  D=0x0000000000000000

 21804 2957438088268500: system.switch_cpus T0 : @no_context+48.32905
:   Microcode_ROM
: rdattr   t10, %ctrl184,  : IntAlu :  D=0x000000000000abd0

 21805 2957438088268750: system.switch_cpus T0 : @no_context+48.32906
:   Microcode_ROM
: andi   t10, t10, 0x3 : IntAlu :  D=0x0000000000000000

 21806 2957438088269000: system.switch_cpus T0 : @no_context+48.32907
:   Microcode_ROM
: rdattr   t5, %ctrl179,  : IntAlu :  D=0x000000000000abd0

 21807 2957438088269250: system.switch_cpus T0 : @no_context+48.32908
:   Microcode_ROM
: andi   t5, t5, 0x3 : IntAlu :  D=0x0000000000000000

 21808 2957438088269500: system.switch_cpus T0 : @no_context+48.32909
:   Microcode_ROM
: sub   t0, t5, t10 : IntAlu :  D=0x0000000000000020

 21809 2957438088269750: system.switch_cpus T0 : @no_context+48.32910
:   Microcode_ROM
: mov   t11b, t0b, t0b : IntAlu :  D=0x0000000000000000

 21810 2957438088270000: system.switch_cpus T0 : @no_context+48.32911
:   Microcode_ROM
: srli   t12, t4, 0x20 : IntAlu :  D=0x0000000081a08e00

 21811 2957438088270250: system.switch_cpus T0 : @no_context+48.32912
:   Microcode_ROM
: andi   t12, t12, 0x7 : IntAlu :  D=0x0000000000000000

 21812 2957438088270500: system.switch_cpus T0 : @no_context+48.32913
:   Microcode_ROM
: subi   t0, t12, 0x1 : IntAlu :  D=0x0000000000000008

 21813 2957438088270750: system.switch_cpus T0 : @no_context+48.32914
:   Microcode_ROM
: br   0x8096 : No_OpClass :

 21814 2957438088271000: system.switch_cpus T0 : @no_context+48.32915
:   Microcode_ROM
: br   0x8098 : No_OpClass :

 21815 2957438088271250: system.switch_cpus T0 : @no_context+48.32916
:   Microcode_ROM
: mov   t6, t6, rsp : IntAlu :  D=0xfffffe0000001fe0

 21816 2957438088271500: system.switch_cpus T0 : @no_context+48.32917
:   Microcode_ROM
: br   0x8099 : No_OpClass :

 21817 2957438088271750: system.switch_cpus T0 : @no_context+48.32921
:   Microcode_ROM
: andi   t6b, t6b, 0xf0 : IntAlu :  D=0xfffffe0000001fe0

 21818 2957438088272000: system.switch_cpus T0 : @no_context+48.32922
:   Microcode_ROM
: subi   t6, t6, 0x30 : IntAlu :  D=0xfffffe0000001fb0

 21819 2957438088272250: system.switch_cpus T0 : @no_context+48.32923
:   Microcode_ROM
: wrip   , t0, t9 : IntAlu :

 21820 2957438088272500: system.switch_cpus T0 : @no_context+48.32924
:   Microcode_ROM
: srli   t5, t4, 0x10 : IntAlu :  D=0x000081a08e000010

 21821 2957438088272750: system.switch_cpus T0 : @no_context+48.32925
:   Microcode_ROM
: andi   t5, t5, 0xff : IntAlu :  D=0x0000000000000010

 21822 2957438088273000: system.switch_cpus T0 : @no_context+48.32926
:   Microcode_ROM
: wrdl   %ctrl140, t3, t5 : IntAlu :  D=0x000000000000abd0

 21823 2957438088310500: system.switch_cpus T0 : @no_context+48.32927
:   Microcode_ROM
: limm   t10, 0 : IntAlu :  D=0x0000000000000000

 21824 2957438088310750: system.switch_cpus T0 : @no_context+48.32928
:   Microcode_ROM
: rdsel   t10w, t10w, %ctrl127 : IntAlu :  D=0x0000000000000010

 21825 2957438088311000: system.switch_cpus T0 : @no_context+48.32929
:   Microcode_ROM
: wrsel   %ctrl127, t5w,  : IntAlu :  D=0x0000000000000010




Best,


Taeklim

ᐧ

On Thu, Dec 20, 2018 at 6:12 PM Kleovoulos Kalaitzidis <
kleovoulos.kalaitzi...@inria.fr> wrote:

> Hello Taeklim,
>
> your problem sounds to me the same as the one I keep having. In my case, I
> searches a bit more and then I found that as you said instruction count
> does not increase because execution falls into an infinite loop of the same
> page fault (Microcode_ROM related.) I give you here the link to the thread
> of my emails when I first asked about the problem :
> https://www.mail-archive.com/gem5-users@gem5.org/msg16145.html
>  Unfortunately, I do not have the solution , but it would be very nice if
> you could also just use the flags I mention
> (--debug-flags=Exec,LocalApic,Faults) to see if the problem is related with
> the same issue. Looking forward for any feedback.
>
> Regards,
>
>
> --
> Kleovoulos Kalaitzidis
> Doctorant - Équipe PACAP
>
> Centre de recherche INRIA Rennes - Bretagne Atlantique
> Bâtiment 12E, Bureau E321, Campus de Beaulieu,
> 35042 Rennes Cedex, France
>
> ------------------------------
>
> *From: *"Taeklim Kim" <taek...@uci.edu>
> *To: *"gem5 users mailing list" <gem5-users@gem5.org>
> *Sent: *Thursday, December 20, 2018 1:12:38 AM
> *Subject: *[gem5-users] Problem on restoring checkpoint while using O3CPU
> in        Full System mode
>
> Hi all,
> I'm currently using X86 Full system mode.
>
> Firstly, I tried to make a checkpoint while running SPEC CPU by
> AtomicSimpleCPU, and I got it. After that, I did restoring checkpoint by
> adding an option '--cpu-type=DerivO3CPU', and also added the cache option.
>
> However, if I run(restoring) by O3CPU, the simulation didn't keep running,
> it just hanged and nothing changed. I also added some 'printf()' at
> 'src/cpu/o3/cpu.cc', 'FullO3CPU<Impl>::instDone()' to check the count of
> instruction, nothing changed.
>
> I'm also tried just restoring to Atomic, not O3, but in this case, the
> simulation works fine. I'm not sure why this is hanging when I restore O3.
> Below is the command line that I used for restoring O3.
>
> /home/workspace/gem5_fs/build/X86/gem5.opt
> /home/workspace/gem5_fs/configs/example/fs.py -n 1
> --disk-image=/home/workspace/fs_image/disks/ubuntu-16.04-v3.6.img 
> --kernel=/home/taeklim/workspace/fs_image/binaries/vmlinux-4.14.53-prof 
> --sys-clock=1GHz --cpu-clock=4GHz
> --mem-size=4096MB --mem-type=DDR3_1600_8x8 --restore-with-cpu=DerivO3CPU 
> --cpu-type=DerivO3CPU
> --caches --checkpoint-dir=/home/workspace/gem5_fs/m5out/ --at-instruction
> -r 977530554357000
>
> Your help will be appreciated.
>
> Best,
>
> Taeklim
>
> ᐧ
>
> _______________________________________________
> gem5-users mailing list
> gem5-users@gem5.org
> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
>
> _______________________________________________
> gem5-users mailing list
> gem5-users@gem5.org
> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
_______________________________________________
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to