Messages in this thread Patch in this message | | | Date | Tue, 10 Oct 2023 16:41:07 +0800 (CST) | From | <> | Subject | [PATCH linux-next v3 2/4] sched/psi: Avoid update triggers and rtpoll total when it is unnecessary |
| |
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 had not changed. This will help to slightly reduce unnecessary computations of psi.
Signed-off-by: Yang Yang <yang.yang29@zte.com.cn> Cc: Zhang Yunkai <zhang.yunkai@zte.com.cn> Cc: Ran Xiaokai <ran.xiaokai@zte.com.cn> --- kernel/sched/psi.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/kernel/sched/psi.c b/kernel/sched/psi.c index be853f227e40..143f8eb34f9d 100644 --- a/kernel/sched/psi.c +++ b/kernel/sched/psi.c @@ -704,11 +704,12 @@ static void psi_rtpoll_work(struct psi_group *group) }
if (now >= group->rtpoll_next_update) { - update_triggers(group, now, &update_total, PSI_POLL); group->rtpoll_next_update = now + group->rtpoll_min_period; - if (update_total) + if (changed_states & group->rtpoll_states) { + update_triggers(group, now, &update_total, PSI_POLL); memcpy(group->rtpoll_total, group->total[PSI_POLL], sizeof(group->rtpoll_total)); + } }
psi_schedule_rtpoll_work(group, -- 2.25.1
| |