@@ -1483,7 +1483,8 @@ bool PCM::discoverSystemTopology()
14831483 // use map to change apic socket id to the logical socket id
14841484 for (int i = 0 ; (i < (int )num_cores) && (!socketIdMap.empty ()); ++i)
14851485 {
1486- DBG (2 , " socket_id: " , topology[i].socket_id , " , socketIdMap tells me: " , socketIdMap[topology[i].socket_id ]);
1486+ DBG (2 , " socket_id: " , topology[i].socket_id , " , socketIdMap tells me: " ,
1487+ (socketIdMap.find (topology[i].socket_id ) == socketIdMap.end ()) ? (std::string (" N/A" )): std::to_string (socketIdMap[topology[i].socket_id ]));
14871488 if (isCoreOnline ((int32)i))
14881489 topology[i].socket_id = socketIdMap[topology[i].socket_id ];
14891490 }
@@ -5715,22 +5716,22 @@ void BasicCounterState::readAndAggregate(std::shared_ptr<SafeMsrHandle> msr)
57155716 cHeavyOpsSlots = extract_bits (perfMetrics, 32 + 0 *8 , 32 + 0 *8 + 7 );
57165717 }
57175718 const double total = double (cFrontendBoundSlots + cBadSpeculationSlots + cBackendBoundSlots + cRetiringSlots);
5718- if (total != 0 )
5719+ if (true )
57195720 {
5720- cFrontendBoundSlots = m->FrontendBoundSlots [core_id] += uint64 ((double (cFrontendBoundSlots) / total) * double (slots));
5721- cBadSpeculationSlots = m->BadSpeculationSlots [core_id] += uint64 ((double (cBadSpeculationSlots) / total) * double (slots));
5722- cBackendBoundSlots = m->BackendBoundSlots [core_id] += uint64 ((double (cBackendBoundSlots) / total) * double (slots));
5723- cRetiringSlots = m->RetiringSlots [core_id] += uint64 ((double (cRetiringSlots) / total) * double (slots));
5721+ cFrontendBoundSlots = m->FrontendBoundSlots [core_id] += (total != 0 ) ? uint64 ((double (cFrontendBoundSlots) / total) * double (slots)) : 0 ;
5722+ cBadSpeculationSlots = m->BadSpeculationSlots [core_id] += (total != 0 ) ? uint64 ((double (cBadSpeculationSlots) / total) * double (slots)) : 0 ;
5723+ cBackendBoundSlots = m->BackendBoundSlots [core_id] += (total != 0 ) ? uint64 ((double (cBackendBoundSlots) / total) * double (slots)) : 0 ;
5724+ cRetiringSlots = m->RetiringSlots [core_id] += (total != 0 ) ? uint64 ((double (cRetiringSlots) / total) * double (slots)) : 0 ;
57245725 if (m->isHWTMAL2Supported ())
57255726 {
5726- cMemBoundSlots = m->MemBoundSlots [core_id] += uint64 ((double (cMemBoundSlots) / total) * double (slots));
5727- cFetchLatSlots = m->FetchLatSlots [core_id] += uint64 ((double (cFetchLatSlots) / total) * double (slots));
5728- cBrMispredSlots = m->BrMispredSlots [core_id] += uint64 ((double (cBrMispredSlots) / total) * double (slots));
5729- cHeavyOpsSlots = m->HeavyOpsSlots [core_id] += uint64 ((double (cHeavyOpsSlots) / total) * double (slots));
5727+ cMemBoundSlots = m->MemBoundSlots [core_id] += (total != 0 ) ? uint64 ((double (cMemBoundSlots) / total) * double (slots)) : 0 ;
5728+ cFetchLatSlots = m->FetchLatSlots [core_id] += (total != 0 ) ? uint64 ((double (cFetchLatSlots) / total) * double (slots)) : 0 ;
5729+ cBrMispredSlots = m->BrMispredSlots [core_id] += (total != 0 ) ? uint64 ((double (cBrMispredSlots) / total) * double (slots)) : 0 ;
5730+ cHeavyOpsSlots = m->HeavyOpsSlots [core_id] += (total != 0 ) ? uint64 ((double (cHeavyOpsSlots) / total) * double (slots)) : 0 ;
57305731 }
57315732 }
57325733 cAllSlotsRaw = m->AllSlotsRaw [core_id] += slots;
5733- DBG (3 , slots , " " , cFrontendBoundSlots , " " , cBadSpeculationSlots , " " , cBackendBoundSlots , " " , cRetiringSlots);
5734+ DBG (3 , " HWTMAL1: " , slots , " " , cFrontendBoundSlots , " " , cBadSpeculationSlots , " " , cBackendBoundSlots , " " , cRetiringSlots);
57345735 msr->unlock ();
57355736 }
57365737 }
0 commit comments