Hi,
 As reported by John Mellor-Crummey @ Rice, the event description
for the P9 POWER9_PME_PM_LSU_FLUSH_OTHER event contains a non-ascii
character that can cause terminals to freeze if/when printed.
    
In this case it was/is a quotation mark.  To avoid nested quotation
mark issues I'm simply removing the embedded quotation marks from the
long description for that event.
I have done a cursory review of the *events.h headers, and did not see
any other cases of the non-ascii characters.

Thanks
-Will (Schmidt)
    
    Signed-off-by: Will Schmidt  <will_schm...@vnet.ibm.com>
    CC:  John Mellor-Crummey  <joh...@rice.edu>
    CC: Carl Love <c...@us.ibm.com>

diff --git a/lib/events/power9_events.h b/lib/events/power9_events.h
index f352ace..51dd916 100644
--- a/lib/events/power9_events.h
+++ b/lib/events/power9_events.h
@@ -4495,11 +4495,11 @@ static const pme_power_entry_t power9_pe[] = {
 },
 [ POWER9_PME_PM_LSU_FLUSH_OTHER ] = {
        .pme_name = "PM_LSU_FLUSH_OTHER",
        .pme_code = 0x000000C0BC,
        .pme_short_desc = "Other LSU flushes including: Sync (sync ack from L2 
caused search of LRQ for oldest snooped load, This will either signal a Precise 
Flush of the oldest snooped loa or a Flush Next PPC); Data Valid Flush Next 
(several cases of this, one example is store and reload are lined up such that 
a store-hit-reload scenario exists and the CDF has already launched and has 
gotten bad/stale data); Bad Data Valid Flush Next (might be a few cases of 
this, one example is a larxa (D$ hit) return data and dval but can't allocate 
to LMQ (LMQ full or other reason).",
-       .pme_long_desc = "Other LSU flushes including: Sync (sync ack from L2 
caused search of LRQ for oldest snooped load, This will either signal a Precise 
Flush of the oldest snooped loa or a Flush Next PPC); Data Valid Flush Next 
(several cases of this, one example is store and reload are lined up such that 
a store-hit-reload scenario exists and the CDF has already launched and has 
gotten bad/stale data); Bad Data Valid Flush Next (might be a few cases of 
this, one example is a larxa (D$ hit) return data and dval but can't allocate 
to LMQ (LMQ full or other reason). Already gave dval but can't watch it for 
snoop_hit_larx. Need to take the “bad dval” back and flush all younger ops)",
+       .pme_long_desc = "Other LSU flushes including: Sync (sync ack from L2 
caused search of LRQ for oldest snooped load, This will either signal a Precise 
Flush of the oldest snooped loa or a Flush Next PPC); Data Valid Flush Next 
(several cases of this, one example is store and reload are lined up such that 
a store-hit-reload scenario exists and the CDF has already launched and has 
gotten bad/stale data); Bad Data Valid Flush Next (might be a few cases of 
this, one example is a larxa (D$ hit) return data and dval but can't allocate 
to LMQ (LMQ full or other reason). Already gave dval but can't watch it for 
snoop_hit_larx. Need to take the bad dval back and flush all younger ops)",
 },
 [ POWER9_PME_PM_LSU_FLUSH_RELAUNCH_MISS ] = {
        .pme_name = "PM_LSU_FLUSH_RELAUNCH_MISS",
        .pme_code = 0x000000C8AC,
        .pme_short_desc = "If a load that has already returned data and has to 
relaunch for any reason then gets a miss (erat, setp, data cache), it will 
often be flushed at relaunch time because the data might be inconsistent",



_______________________________________________
perfmon2-devel mailing list
perfmon2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/perfmon2-devel

Reply via email to