89 static std::shared_ptr<TargetRegistry> targetRegistryInstance;
91 std::unordered_map<int32_t, int32_t> mLogicalToPhysicalClusterMapping;
92 std::unordered_map<int32_t, ClusterInfo*> mPhysicalClusters;
93 std::unordered_map<int32_t, CGroupConfigInfo*> mCGroupMapping;
94 std::unordered_map<int32_t, MpamGroupConfigInfo*> mMpamGroupMapping;
95 std::unordered_map<std::string, CacheInfo*> mCacheInfoMapping;
99 void generatePolicyBasedMapping(std::vector<std::string>& policyDirs);
100 void getClusterIdBasedMapping();
106 void addClusterSpreadInfo(
const std::string& physicalID,
const std::string& coreCount);
107 void addClusterMapping(
const std::string& logicalID,
const std::string& physicalID);
115 void addCacheInfoMapping(
CacheInfo* cacheInfo);
117 void getClusterIDs(std::vector<int32_t>& clusterIDs);
143 ClusterInfo* getClusterInfo(int32_t physicalClusterID);
164 void getCGroupNames(std::vector<std::string>& cGroupNames);
165 void getCGroupConfigs(std::vector<CGroupConfigInfo*>& cGroupConfigs);
166 int32_t getCreatedCGroupsCount();
169 void getMpamGroupNames(std::vector<std::string>& cGroupNames);
170 int32_t getCreatedMpamGroupsCount();
172 void displayTargetInfo();
174 ErrCode addIrqAffine(std::vector<std::string>& values,
175 int8_t areClusterValues =
false);
176 ErrCode addLogLimit(std::vector<std::string>& values);
178 static std::shared_ptr<TargetRegistry> getInstance() {
179 if(targetRegistryInstance ==
nullptr) {
180 targetRegistryInstance = std::shared_ptr<TargetRegistry>(
new TargetRegistry());
182 return targetRegistryInstance;