> On June 5, 2012, 11:10 a.m., Ali Saidi wrote:
> > Are you still working on this?
> >
>
> Anthony Gutierrez wrote:
> Yes. I took a break to get ICS working with BBench.
>
> But, it switches back-and-forth between O3CPUs for a while now. My latest
> problem is that while the CPU is "draining" the exit event is the next thing
> scheduled. The simulator exits and the following assert fails:
> cleanupCountedDrain(Event*): Assertion `event->getCount() == 0'. The only
> object yet to drain is the CPU. I can send more details about the problems to
> the mailing list.
>
> Ali Saidi wrote:
> Did it go negative or is it still positive? If it went negative someone
> thought they were drained twice. I'm not sure how it could happen that it is
> positive.
>
It's equal to 1, the CPU object hasn't drained. The simulator stops making
progress here:
11064054500: system.cpu + A0 T0 : @die+32 : bl :
IntAlu : D=0x00000000c0036768 FetchSeq=6182727 CPSeq=5938002
11064058000: system.cpu + A0 T0 : @_raw_spin_lock_irq : cps #64
: IntAlu : D=0x00000000000001d3 FetchSeq=6182734 CPSeq=5938003
11064058000: system.cpu + A0 T0 : @_raw_spin_lock_irq+4 : mov r3, #1
: IntAlu : D=0x0000000000000001 FetchSeq=6182735 CPSeq=5938004
11064058000: system.cpu + A0 T0 : @_raw_spin_lock_irq+8 : ldrex r2, [r0,
#0] : MemRead : D=0x0000000000000001 A=0xc040e2f0 FetchSeq=6182736
CPSeq=5938005
11064058500: system.cpu + A0 T0 : @_raw_spin_lock_irq+12 : teqs r2, #0
: IntAlu : D=0x0000000000000000 FetchSeq=6182737 CPSeq=5938006
11064058500: system.cpu + A0 T0 : @_raw_spin_lock_irq+16 : wfene
: IntAlu : D=0x0000000000000000 FetchSeq=6182738 CPSeq=5938007
11064058500: system.cpu + A0 T0 : @_raw_spin_lock_irq+20 : strexeq r2,
r3, [r0, #0] : MemWrite : Predicated False FetchSeq=6182739 CPSeq=5938008
11064109500: system.cpu + A0 T0 : @_raw_spin_lock_irq+24 : teqseq r2, #0
: IntAlu : Predicated False FetchSeq=6182740 CPSeq=5938009
11064109500: system.cpu + A0 T0 : @_raw_spin_lock_irq+28 : bne
: IntAlu : FetchSeq=6182741 CPSeq=5938010
11064117500: system.cpu + A0 T0 : @_raw_spin_lock_irq+8 : ldrex r2, [r0,
#0] : MemRead : D=0x0000000000000001 A=0xc040e2f0 FetchSeq=6182752
CPSeq=5938011
11064117500: system.cpu + A0 T0 : @_raw_spin_lock_irq+12 : teqs r2, #0
: IntAlu : D=0x0000000000000000 FetchSeq=6182753 CPSeq=5938012
The next instruction is a wfene, it is stuck at the top of the ROB and can't
commit. Also, the kernel panics slightly before it starts spinning on that
lock, as you can see.
- Anthony
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviews.gem5.org/r/1221/#review2907
-----------------------------------------------------------
On May 26, 2012, 8:50 a.m., Anthony Gutierrez wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviews.gem5.org/r/1221/
> -----------------------------------------------------------
>
> (Updated May 26, 2012, 8:50 a.m.)
>
>
> Review request for Default.
>
>
> Description
> -------
>
> Changeset 9023:bf655276f847
> ---------------------------
> O3,ARM: This patch fixes some problems with the drain/switchout functionality
> for the O3 cpu and for the ARM ISA. This is an incremental fix as there are
> still a few bugs/mem leaks with the switchout code. Particularly when
> switching from an O3CPU to a TimingSimpleCPU. This patch fixes: i/d cache and
> i/d TLB port re-connections when switcing out, draining of the ARM
> TableWalker, and commit stage draining in the O3 CPU.
>
>
> Diffs
> -----
>
> src/arch/arm/table_walker.hh bb25e7646c41469bef2b78ba435319f59d63d5fd
> src/arch/arm/table_walker.cc bb25e7646c41469bef2b78ba435319f59d63d5fd
> src/cpu/base.cc bb25e7646c41469bef2b78ba435319f59d63d5fd
> src/cpu/o3/commit_impl.hh bb25e7646c41469bef2b78ba435319f59d63d5fd
> src/cpu/o3/cpu.cc bb25e7646c41469bef2b78ba435319f59d63d5fd
> src/cpu/o3/fetch_impl.hh bb25e7646c41469bef2b78ba435319f59d63d5fd
> src/cpu/o3/iew.hh bb25e7646c41469bef2b78ba435319f59d63d5fd
> src/dev/dma_device.cc bb25e7646c41469bef2b78ba435319f59d63d5fd
> src/mem/packet_queue.cc bb25e7646c41469bef2b78ba435319f59d63d5fd
> src/mem/port.hh bb25e7646c41469bef2b78ba435319f59d63d5fd
> src/mem/port.cc bb25e7646c41469bef2b78ba435319f59d63d5fd
>
> Diff: http://reviews.gem5.org/r/1221/diff/
>
>
> Testing
> -------
>
>
> Thanks,
>
> Anthony Gutierrez
>
>
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev