Hi Andreas, The atomic CPU and o3 CPU do execute the same instructions, except that the atomic CPU exits the above loop soon, while the o3 CPU is stuck in the loop for at least one billion instructions. Last mail only showed the stuck loop instructions. The whole instruction sequence contains: @page_fault @error_entry @do_page_fault @find_vma @__handle_mm_fault @filemap_nopage @find_get_page ... Such instruction sequence seems like processing page fault.
There is a static array in the source code without initialization, which may cause the page fault. I'll initialize the array before the checkpoint and see what happens. But it's still strange that the o3 CPU cannot exit the loop for such a long time. Thanks, Zehan On Tue, Jan 20, 2015 at 4:40 PM, Andreas Hansson <andreas.hans...@arm.com> wrote: > Hi Zehan, > > The o3 CPU will invariably take roughly 5-10x as long due to the level > of detail. Are you suggesting the atomic CPU and the o3 CPU are not > executing the same instructions? > > Typically in these cases you want to drop a checkpoint before the region > of interest. > > Andreas > > From: Zehan Cui via gem5-users <gem5-users@gem5.org> > Reply-To: Zehan Cui <zehan....@gmail.com>, gem5 users mailing list < > gem5-users@gem5.org> > Date: Tuesday, 20 January 2015 02:14 > To: gem5-users <gem5-users@gem5.org> > Subject: [gem5-users] one cpu keeps executing "@flush_tlb_others+133" > > Hi all, > > I run a multi-threaded application in full system mode with detailed cpu > model. I extract the instruction traces of each cpu, and find that the last > cpu keeps executing instructions like the following for at least 1 billion > instructions (The max_instructions is set to 1 billion). > > 8007580397289: system.switch_cpus_17 T0 : @flush_tlb_others+133 : > NOP : IntAlu : > 8007580397289: system.switch_cpus_17 T0 : @flush_tlb_others+135 : cmp > DS:[rbp], 0 > 8007580397289: system.switch_cpus_17 T0 : @flush_tlb_others+139 : jnz > 0xfffffffffffffff8 > 8007580397602: system.switch_cpus_17 T0 : @flush_tlb_others+133 : NOP > : IntAlu : > 8007580397602: system.switch_cpus_17 T0 : @flush_tlb_others+135 : cmp > DS:[rbp], 0 > 8007580397602: system.switch_cpus_17 T0 : @flush_tlb_others+139 : jnz > 0xfffffffffffffff8 > 8007580397915: system.switch_cpus_17 T0 : @flush_tlb_others+133 : NOP > : IntAlu : > 8007580397915: system.switch_cpus_17 T0 : @flush_tlb_others+135 : cmp > DS:[rbp], 0 > 8007580397915: system.switch_cpus_17 T0 : @flush_tlb_others+139 : jnz > 0xfffffffffffffff8 > 8007580398228: system.switch_cpus_17 T0 : @flush_tlb_others+133 : NOP > : IntAlu : > > > I run the application with atomic cpu model. The same instruction > sequence appears for a while, but soon switches to the instructions of the > application. > > Such problem has bothered me for a while. Does anyone understand this? > > thanks, > zehan > > -- IMPORTANT NOTICE: The contents of this email and any attachments are > confidential and may also be privileged. If you are not the intended > recipient, please notify the sender immediately and do not disclose the > contents to any other person, use it for any purpose, or store or copy the > information in any medium. Thank you. > > ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, > Registered in England & Wales, Company No: 2557590 > ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, > Registered in England & Wales, Company No: 2548782 >
_______________________________________________ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users