Is this useful?

339051500: system.cpu + A0 T0 : 0x83d48d.4  :   CALL_NEAR_I : wrip   ,
t7, t1 : IntAlu :
339052000: system.cpu.icache: ReadReq (ifetch) 452f90 hit
339052000: system.cpu + A0 T0 : 0x852f90    : mov       r10, rcx
339052000: system.cpu + A0 T0 : 0x852f90.0  :   MOV_R_R : mov   r10,
r10, rcx : IntAlu :  D=0x0000000000000022
339052500: system.cpu.icache: ReadReq (ifetch) 452f90 hit
339052500: system.cpu + A0 T0 : 0x852f93    : mov       eax, 0x9
339052500: system.cpu + A0 T0 : 0x852f93.0  :   MOV_R_I : limm   eax,
0x9 : IntAlu :  D=0x0000000000000009
339053000: system.cpu.icache: ReadReq (ifetch) 452f98 hit
^C
Program received signal SIGINT, Interrupt.
0x00000000004e0f90 in
std::__fill_n_a<__gnu_cxx::_Hashtable_node<std::pair<unsigned long
const, X86ISA::TlbEntry> >**, unsigned long,
__gnu_cxx::_Hashtable_node<std::pair<unsigned long const,
X86ISA::TlbEntry> >*> (__first=0x7fff70017000, __n=4065295,
__value=@0x7fffffffb8d0)
    at /usr/include/c++/4.4/bits/stl_algobase.h:758
758             *__first = __tmp;
(gdb) ^CQuit
(gdb)



On 4/27/12, Steve Reinhardt <[email protected]> wrote:
> Perhaps you could fire off the run under gdb, and use the --debug-break
> flag to drop in to gdb at the tick where it seems to stop running.  If the
> simulation stops and memory blows up, it's almost like you're stuck in some
> subtle infinite loop with a memory allocation in it.  (You might have to
> continue just a little past there and hit ctrl-c before it dies to catch it
> in the middle of this loop.)
>
> On Fri, Apr 27, 2012 at 11:29 AM, Mahmood Naderan
> <[email protected]>wrote:
>
>> i searched for something similar (stoping the simulation when it reach
>> at a specific memory usage to prevent killing) but didn't find such
>> thing. Do you know?
>>
>> I also attached gdb. it doesn't show anything useful because lastly it
>> get killed.
>>
>> On 4/27/12, Gabe Black <[email protected]> wrote:
>> > Valgrind should tell you where the leaked memory was allocated. You may
>> > have to give it a command line option for that, or stop it before it
>> > gets itself killed.
>> >
>> > Gabe
>> >
>> > On 04/27/12 11:10, Steve Reinhardt wrote:
>> >> Can you attach gdb when it does this, see where it's at, and maybe
>> >> step through the code a bit to see what it's doing?
>> >>
>> >> On Fri, Apr 27, 2012 at 10:54 AM, Mahmood Naderan
>> >> <[email protected] <mailto:[email protected]>> wrote:
>> >>
>> >>     That was a guess. As I said, i turned on the debugger to see when
>> >> it
>> >>     start eating the memory. As you can see the last messageit print
>> >> is:
>> >>     339069000: system.cpu + A0 T0 : 0x852f93.0  :   MOV_R_I : limm
>> eax,
>> >>     0x9 : IntAlu :  D=0x0000000000000009
>> >>     339069500: system.cpu.icache: set be: moving blk 452f80 to MRU
>> >>     339069500: system.cpu.icache: ReadReq (ifetch) 452f98 hit
>> >>
>> >>     Then no message is printed and I see, with top command, that the
>> >>     memory usage gos up and up until it consumes all memory.
>> >>
>> >>
>> >>     On 4/27/12, Nilay Vaish <[email protected]
>> >>     <mailto:[email protected]>> wrote:
>> >>     > How do you know the instruction at which the memory starts
>> >>     leaking? What
>> >>     > should we conclude from the instruction trace in your mail. I am
>> >>     unable to
>> >>     > arrive at any conclusion from the valgrind report that you had
>> >>     attached.
>> >>     > Apart from the info on uninitialized values, I did not find any
>> >>     useful
>> >>     > output produced by valgrind.
>> >>     >
>> >>     > --
>> >>     > Nilay
>> >>     >
>> >>     > On Fri, 27 Apr 2012, Mahmood Naderan wrote:
>> >>     >
>> >>     >> tonto with the test input uses about 4 GB and runs for about 2
>> >>     seconds
>> >>     >> on a real machine.
>> >>     >>
>> >>     >> I also used the test input with gem5. However again after tick
>> >>     >> 300000000, all the 30GB memory is used and then gem5 is killed.
>> >> The
>> >>     >> same behaviour with ref input...
>> >>     >>
>> >>     >> I ran the following command:
>> >>     >> valgrind --tool=memcheck --leak-check=full --track-origins=yes
>> >>     >> --suppressions=../util/valgrind-suppressions
>> ../build/X86/m5.debug
>> >>     >> --debug-flags=Cache,ExecAll,Bus,CacheRepl,Context
>> >>     >> --trace-start=339050000 ../configs/example/se.py -c
>> >>     >> tonto_base.amd64-m64-gcc44-nn --cpu-type=detailed -F 5000000
>> >>     --maxtick
>> >>     >> 10000000 --caches --l2cache --prog-interval=100000
>> >>     >>
>> >>     >>
>> >>     >> I also attach the report again. At the instruction that the
>> memory
>> >>     >> leak begins, you can see:
>> >>     >> ...
>> >>     >> 339066000: system.cpu + A0 T0 : 0x83d48d    : call   0x15afe
>> >>     >> 339066000: system.cpu + A0 T0 : 0x83d48d.0  :   CALL_NEAR_I :
>> limm
>> >>     >> t1, 0x15afe : IntAlu :  D=0x0000000000015afe
>> >>     >> 339066500: system.cpu + A0 T0 : 0x83d48d.1  :   CALL_NEAR_I :
>> rdip
>> >>     >> t7, %ctrl153,  : IntAlu :  D=0x000000000083d492
>> >>     >> 339067000: system.cpu.dcache: set 9a: moving blk 5aa680 to MRU
>> >>     >> 339067000: system.cpu.dcache: WriteReq 5aa6b8 hit
>> >>     >> 339067000: system.cpu + A0 T0 : 0x83d48d.2  :   CALL_NEAR_I :
>> >>     st   t7,
>> >>     >> SS:[rsp + 0xfffffffffffffff8] : MemWrite :
>> >> D=0x000000000083d492
>> >>     >> A=0x7fffffffe6b8
>> >>     >> 339067500: system.cpu + A0 T0 : 0x83d48d.3  :   CALL_NEAR_I :
>> subi
>> >>     >> rsp, rsp, 0x8 : IntAlu :  D=0x00007fffffffe6b8
>> >>     >> 339068000: system.cpu + A0 T0 : 0x83d48d.4  :   CALL_NEAR_I :
>> >>     wrip   ,
>> >>     >> t7, t1 : IntAlu :
>> >>     >> 339068500: system.cpu.icache: set be: moving blk 452f80 to MRU
>> >>     >> 339068500: system.cpu.icache: ReadReq (ifetch) 452f90 hit
>> >>     >> 339068500: system.cpu + A0 T0 : 0x852f90    : mov    r10, rcx
>> >>     >> 339068500: system.cpu + A0 T0 : 0x852f90.0  :   MOV_R_R : mov
>> >>     r10,
>> >>     >> r10, rcx : IntAlu :  D=0x0000000000000022
>> >>     >> 339069000: system.cpu.icache: set be: moving blk 452f80 to MRU
>> >>     >> 339069000: system.cpu.icache: ReadReq (ifetch) 452f90 hit
>> >>     >> 339069000: system.cpu + A0 T0 : 0x852f93    : mov    eax, 0x9
>> >>     >> 339069000: system.cpu + A0 T0 : 0x852f93.0  :   MOV_R_I : limm
>> >>       eax,
>> >>     >> 0x9 : IntAlu :  D=0x0000000000000009
>> >>     >> 339069500: system.cpu.icache: set be: moving blk 452f80 to MRU
>> >>     >> 339069500: system.cpu.icache: ReadReq (ifetch) 452f98 hit
>> >>     >>
>> >>     >>
>> >>     >> What is your opinion then?
>> >>     >> Regards,
>> >>     >>
>> >>     >> On 4/27/12, Steve Reinhardt <[email protected]
>> >>     <mailto:[email protected]>> wrote:
>> >>     >>> Also, if you do run valgrind, use the
>> >>     util/valgrind-suppressions file to
>> >>     >>> suppress spurious reports.  Read the valgrind docs to see how
>> >> this
>> >>     >>> works.
>> >>     >>>
>> >>     >>> Steve
>> >>     >>>
>> >>     > _______________________________________________
>> >>     > gem5-users mailing list
>> >>     > [email protected] <mailto:[email protected]>
>> >>     > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
>> >>     >
>> >>
>> >>
>> >>     --
>> >>     // Naderan *Mahmood;
>> >>     _______________________________________________
>> >>     gem5-users mailing list
>> >>     [email protected] <mailto:[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
>> >
>> >
>>
>>
>> --
>> // Naderan *Mahmood;
>> _______________________________________________
>> gem5-users mailing list
>> [email protected]
>> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
>>
>


-- 
// Naderan *Mahmood;
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to