Brad,

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

Reply via email to