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 <[email protected]>
CC: John Mellor-Crummey <[email protected]>
CC: Carl Love <[email protected]>
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/perfmon2-devel