Messages in this thread | | | Date | Tue, 10 Oct 2023 11:05:59 +0800 (CST) | From | <> | Subject | [PATCH linux-next v2 0/4] sched/psi: Optimize the process of updating triggers and rtpoll total |
| |
From: Yang Yang <yang.yang29@zte.com.cn>
When psimon wakes up and there are no state changes for rtpoll_states, it's unnecessary to update triggers and rtpoll_total because the pressures being monitored by user have not changed. This will help to slightly reduce unnecessary computations of psi.
There are also some minor related optimizations, please see below.
Update_triggers() always return now + group->rtpoll_min_period, and the return value is only used by psi_rtpoll_work(), so change update_triggers() to a void function, let group->rtpoll_next_update = now + group->rtpoll_min_period directly.
Update group->rtpoll_next_update after called update_triggers() and update rtpoll_total. This will prevent bugs if update_triggers() uses group->rtpoll_next_update in the future, and it makes more sense to set the next update time after we finished the current update.
The parameter update_total in update_triggers() is useless now. Since if changed_states & group->rtpoll_states is true, new_stall in update_triggers() will be true, then update_total should also be true. We have no need for update_total to help judgment whether to update rtpoll_total, so delete update_total.
Change log ---------- v1->v2: ---------- (1) the line number of group->rtpoll_next_update in patch 1 remain unchanged (2) split patch 3 from patch 2
Yang Yang (4): sched/psi: Change update_triggers() to a void function sched/psi: Avoid update triggers and rtpoll_total when it is unnecessary sched/psi: Update rtpoll_next_update after update triggers and rtpoll_total sched/psi: Delete the function parameter update_total of update_triggers()
kernel/sched/psi.c | 23 ++++++----------------- 1 file changed, 6 insertions(+), 17 deletions(-)
-- 2.25.1
| |