83 static std::shared_ptr<TargetRegistry> targetRegistryInstance;
85 std::unordered_map<int32_t, int32_t> mLogicalToPhysicalClusterMapping;
86 std::unordered_map<int32_t, ClusterInfo*> mPhysicalClusters;
87 std::unordered_map<int32_t, CGroupConfigInfo*> mCGroupMapping;
88 std::unordered_map<int32_t, MpamGroupConfigInfo*> mMpamGroupMapping;
89 std::unordered_map<std::string, CacheInfo*> mCacheInfoMapping;
93 void generatePolicyBasedMapping(std::vector<std::string>& policyDirs);
94 void getClusterIdBasedMapping();
100 void addClusterSpreadInfo(
const std::string& physicalID,
const std::string& coreCount);
101 void addClusterMapping(
const std::string& logicalID,
const std::string& physicalID);
109 void addCacheInfoMapping(
CacheInfo* cacheInfo);
111 void getClusterIDs(std::vector<int32_t>& clusterIDs);
137 ClusterInfo* getClusterInfo(int32_t physicalClusterID);
158 void getCGroupNames(std::vector<std::string>& cGroupNames);
159 void getCGroupConfigs(std::vector<CGroupConfigInfo*>& cGroupConfigs);
160 int32_t getCreatedCGroupsCount();
163 void getMpamGroupNames(std::vector<std::string>& cGroupNames);
164 int32_t getCreatedMpamGroupsCount();
166 void displayTargetInfo();
168 ErrCode addIrqAffine(std::vector<std::string>& values,
169 int8_t areClusterValues =
false);
170 ErrCode addLogLimit(std::vector<std::string>& values);
172 static std::shared_ptr<TargetRegistry> getInstance() {
173 if(targetRegistryInstance ==
nullptr) {
174 targetRegistryInstance = std::shared_ptr<TargetRegistry>(
new TargetRegistry());
176 return targetRegistryInstance;