Fix comparator of ResouceGroupSet (#19523)

This commit is contained in:
wangbo
2023-05-13 09:17:16 +08:00
committed by GitHub
parent 86ba0ebf42
commit 38294b98db
3 changed files with 8 additions and 2 deletions

View File

@ -213,9 +213,9 @@ bool TaskGroupTaskQueue::TaskGroupSchedEntityComparator::operator()(
auto l_share = lhs_ptr->cpu_share();
auto r_share = rhs_ptr->cpu_share();
if (l_share != r_share) {
return l_share < rhs_val;
return l_share < r_share;
} else {
return lhs_ptr < rhs_ptr;
return lhs_ptr->task_group_id() < rhs_ptr->task_group_id();
}
}
}

View File

@ -58,6 +58,10 @@ uint64_t TaskGroupEntity::cpu_share() const {
return _tg->cpu_share();
}
uint64_t TaskGroupEntity::task_group_id() const {
return _tg->id();
}
std::string TaskGroupEntity::debug_string() const {
return fmt::format("TGE[id = {}, cpu_share = {}, task size: {}, v_time:{}ns]", _tg->id(),
cpu_share(), _queue.size(), _vruntime_ns);

View File

@ -61,6 +61,8 @@ public:
std::string debug_string() const;
uint64_t task_group_id() const;
private:
// TODO pipeline use MLFQ
std::queue<pipeline::PipelineTask*> _queue;