message: make freeze/unfreeze more robust and faster
diff: @@ -4727,20 +4727,23 @@ void PCM::freezeServerUncoreCounters()
  }
  }
  - for (auto& sPMUs : irpPMUs)
  + if (size_t(i) < irpPMUs.size())
  {
  - for (auto& pmu : sPMUs)
  + for (auto& pmu : irpPMUs[i])
  {
  pmu.second.freeze(UNC_PMON_UNIT_CTL_RSV);
  }
  }
  + if (size_t(i) < cboPMUs.size())
  + {
  for (auto& pmu : cboPMUs[i])
  {
  pmu.freeze(UNC_PMON_UNIT_CTL_FRZ_EN);
  }
  }
  }
  +}
  void PCM::unfreezeServerUncoreCounters()
  {
  for (int i = 0; (i < (int)server_pcicfg_uncore.size()) && MSR.size(); ++i)
  @@ -4760,20 +4763,23 @@ void PCM::unfreezeServerUncoreCounters()
  }
  }
  - for (auto& sPMUs : irpPMUs)
  + if (size_t(i) < irpPMUs.size())
  {
  - for (auto& pmu : sPMUs)
  + for (auto& pmu : irpPMUs[i])
  {
  pmu.second.unfreeze(UNC_PMON_UNIT_CTL_RSV);
  }
  }
  + if (size_t(i) < cboPMUs.size())
  + {
  for (auto& pmu : cboPMUs[i])
  {
  pmu.unfreeze(UNC_PMON_UNIT_CTL_FRZ_EN);
  }
  }
  }
  +}
  void UncoreCounterState::readAndAggregate(std::shared_ptr<SafeMsrHandle> msr)
  {
  const auto coreID = msr->getCoreId();
  