Looks like we should just remove the first, second, and third columns
that are spit out since they're covered almost exactly by the implicit
columns added by DPRINTF.  Right?

  Nate

> This how protocol trace would look like. I actually did not some such
> thing exists. I was currently relying on DPRINTF statements for checking
> the events that occurred. This is certainly easier to read and much more
> compact.
>
>   1395: system.l1_cntrl3:    1395   3    L1Cache      L1_Replacement
> IM>IM     [0x15c0, line 0x15c0]
>   1395: system.l1_cntrl2:    1395   2    L1Cache      L1_Replacement
> IM>IM     [0x3ac0, line 0x3ac0]
>   1395: system.l1_cntrl2:    1395   2    L1Cache      L1_Replacement
> IM>IM     [0x3ac0, line 0x3ac0]
>   1395: system.l1_cntrl2:    1395   2    L1Cache      L1_Replacement
> IM>IM     [0x3ac0, line 0x3ac0]
>   1396: system.l1_cntrl1:    1396   1    L1Cache      L1_Replacement
> IM>IM     [0x2ac0, line 0x2ac0]
>   1397: system.ruby.cpu_ruby_ports2:    1397   2        Seq
>  Done       >       [0x3ae8, line 0x3ac0] 1386 cycles
>   1397: system.l1_cntrl2:    1397   2    L1Cache       Data_all_Acks
> IM>M      [0x3ac0, line 0x3ac0]
>   1397: system.l1_cntrl3:    1397   3    L1Cache      L1_Replacement
> IM>IM     [0x15c0, line 0x15c0]
>   1397: system.l2_cntrl0:    1397   0    L2CacheL2_Replacement_clean
> MT_MB>MT_MB  [0x3ac0, line 0x3ac0]
>   1400: system.l2_cntrl0:    1400   0    L2Cache             L1_GETX
> MT_MB>MT_MB  [0x400, line 0x400]
>   1401: system.l2_cntrl0:    1401   0    L2CacheL2_Replacement_clean
> MT_MB>MT_MB  [0x3ac0, line 0x3ac0]
>   1402: system.l1_cntrl0:    1402   0    L1Cache      L1_Replacement
> IM>IM     [0x4dc0, line 0x4dc0]
>   1402: system.l1_cntrl2:    1402   2    L1Cache      L1_Replacement
> IM>IM     [0xdc0, line 0xdc0]
>   1402: system.l1_cntrl2:    1402   2    L1Cache      L1_Replacement
> IM>IM     [0xdc0, line 0xdc0]
>
>
>
> On Wed, January 5, 2011 10:26 am, Beckmann, Brad wrote:
>> 1.       Below is a snip of a protocol trace that I recently used.  I
>> think it is important for us maintain that there is no DPRINTF information
>> prepended to each line.  The initial motivation for the protocol trace,
>> was that tracing protocol transitions using standard debug print was too
>> verbose.  These traces can be 100’MB if not GBs in size, so reducing the
>> information printed to each line is important.  Nilay, could you send a
>> snip of the trace with the patch applied?
>>
>> 2233850   3    L1Cache                Load      I>IS     [0x409ec0, line
>> 0x409ec0]
>> 2233850   3    L1Cache      L2_Replacement      M>MI     [0x40cfc0, line
>> 0x40cfc0]
>> 2233866   3    L1Cache       Writeback_Ack     MI>I      [0x10bd40, line
>> 0x10bd40]
>> 2233866   3    L1Cache       Writeback_Ack     MI>I      [0x40cfc0, line
>> 0x40cfc0]
>> 2234458   3        Seq                Done       >       [0x4033c3, line
>> 0x4033c0] 3380 cycles
>> 2234458   3    L1Cache      Exclusive_Data     IM>MM_W   [0x4033c0, line
>> 0x4033c0] 0Directory-0
>> 2234458   3        Seq               Begin       >       [0x40f883, line
>> 0x40f880] ST
>> 2234459   3    L1Cache All_acks_no_sharers   MM_W>MM     [0x4033c0, line
>> 0x4033c0]
>> 2234508   3    L1Cache      Exclusive_Data     IS>M_W    [0x409ec0, line
>> 0x409ec0] 0Directory-0
>> 2234509   3    L1Cache All_acks_no_sharers    M_W>M      [0x409ec0, line
>> 0x409ec0]
>> 2234510   3    L1Cache            L1_to_L2     MM>MM     [0x4033c0, line
>> 0x4033c0]
>> 2234510   3    L1Cache                Load      I>IS     [0x407ec0, line
>> 0x407ec0]
>> 2234510   3    L1Cache      L2_Replacement      M>MI     [0x40b4c0, line
>> 0x40b4c0]
>> 2234510   3    L1Cache            L1_to_L2      M>M      [0x409ec0, line
>> 0x409ec0]
>> 2234510   3    L1Cache                Load      I>IS     [0x100c40, line
>> 0x100c40]
>> 2234510   3    L1Cache      L2_Replacement     MM>MI     [0x4033c0, line
>> 0x4033c0]
>>
>>
>>
>> 2.       Just for my own knowledge… Nate, you mentioned that handling
>> the SIGABRT signal is the right way to make this feature work for all of
>> M5.  Why is that?  Is it just the preference not to use macros that
>> overwrite the meaning of assert, or is it something more fundamental?
>>
>> Thanks,
>>
>> Brad
>>
>> From: Nilay Vaish [mailto:ni...@cs.wisc.edu]
>> Sent: Tuesday, January 04, 2011 7:24 PM
>> To: Steve Reinhardt; Ali Saidi; Gabe Black; Nathan Binkert
>> Cc: Nilay Vaish; Default; Beckmann, Brad
>> Subject: Re: Review Request: ruby: get rid of ruby's Debug.hh
>>
>> This is an automatically generated e-mail. To reply, visit:
>> http://reviews.m5sim.org/r/367/
>>
>>
>>
>> On January 4th, 2011, 4:31 p.m., Brad Beckmann wrote:
>>
>> Hi Nate,
>>
>>
>>
>> I have a couple questions:
>>
>>
>>
>> 1. Have you looked at the protocol trace output after your change?  Does
>> it look exactly like it did before?  It seems that the output should be
>> the same based on my brief inspection of your patch, but I would like to
>> be sure about that.  It may not be obvious, but there is a specific
>> rational behind the format of the protocol trace and I want to make sure
>> that stays the same.
>>
>>
>>
>> 2. With your patch applied, what happens if one hits an assert when
>> running interactively?  Previously, the process would abort allowing one
>> to attach gdb and examine what is going on.  I liked that feature and it
>> would be great if we could maintain it.  Could we port that feature to all
>> of M5?
>>
>
> --
> Nilay
>
> _______________________________________________
> m5-dev mailing list
> m5-dev@m5sim.org
> http://m5sim.org/mailman/listinfo/m5-dev
>
>
_______________________________________________
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to