[workload](pipeline) Add cgroup cpu controller (#24052)
This commit is contained in:
@ -42,6 +42,7 @@ namespace taskgroup {
|
||||
const static std::string CPU_SHARE = "cpu_share";
|
||||
const static std::string MEMORY_LIMIT = "memory_limit";
|
||||
const static std::string ENABLE_MEMORY_OVERCOMMIT = "enable_memory_overcommit";
|
||||
const static std::string QUERY_CPU_HARD_LIMIT = "query_cpu_hard_limit";
|
||||
|
||||
template <typename QueueType>
|
||||
TaskGroupEntity<QueueType>::TaskGroupEntity(taskgroup::TaskGroup* tg, std::string type)
|
||||
@ -185,7 +186,7 @@ void TaskGroup::task_group_info(TaskGroupInfo* tg_info) const {
|
||||
}
|
||||
|
||||
Status TaskGroupInfo::parse_group_info(const TPipelineWorkloadGroup& resource_group,
|
||||
TaskGroupInfo* task_group_info) {
|
||||
TaskGroupInfo* task_group_info, int* query_cpu_hard_limit) {
|
||||
if (UNLIKELY(!check_group_info(resource_group))) {
|
||||
std::stringstream ss;
|
||||
ss << "incomplete resource group parameters: ";
|
||||
@ -198,6 +199,10 @@ Status TaskGroupInfo::parse_group_info(const TPipelineWorkloadGroup& resource_gr
|
||||
uint64_t share = 0;
|
||||
std::from_chars(iter->second.c_str(), iter->second.c_str() + iter->second.size(), share);
|
||||
|
||||
auto iter2 = resource_group.properties.find(QUERY_CPU_HARD_LIMIT);
|
||||
std::from_chars(iter2->second.c_str(), iter2->second.c_str() + iter2->second.size(),
|
||||
*query_cpu_hard_limit);
|
||||
|
||||
task_group_info->id = resource_group.id;
|
||||
task_group_info->name = resource_group.name;
|
||||
task_group_info->version = resource_group.version;
|
||||
|
||||
Reference in New Issue
Block a user