psi: Fix trigger being fired unexpectedly at initial
authorHailong Liu <liuhailong@linux.alibaba.com>
Fri, 1 Apr 2022 05:10:11 +0000 (13:10 +0800)
committerPeter Zijlstra <peterz@infradead.org>
Fri, 22 Apr 2022 10:14:06 +0000 (12:14 +0200)
commit915a087e4c47334a2f7ba2a4092c4bade0873769
tree8cbb635a259d91071f8d744bc43fe2c704d46cfe
parent089c02ae2771a14af2928c59c56abfb9b885a8d7
psi: Fix trigger being fired unexpectedly at initial

When a trigger being created, its win.start_value and win.start_time are
reset to zero. If group->total[PSI_POLL][t->state] has accumulated before,
this trigger will be fired unexpectedly in the next period, even if its
growth time does not reach its threshold.

So set the window of the new trigger to the current state value.

Signed-off-by: Hailong Liu <liuhailong@linux.alibaba.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Suren Baghdasaryan <surenb@google.com>
Link: https://lore.kernel.org/r/1648789811-3788971-1-git-send-email-liuhailong@linux.alibaba.com
kernel/sched/psi.c