On Thu, Jul 21, 2022 at 12:04:31PM +0800, Chengming Zhou wrote: > We don't want to wake periodic aggregation work back up if the > task change is the aggregation worker itself going to sleep, or > we'll ping-pong forever. > > Previously, we would use psi_task_change() in psi_dequeue() when > task going to sleep, so this check was put in psi_task_change(). > > But commit 4117cebf1a9f ("psi: Optimize task switch inside shared cgroups") > defer task sleep handling to psi_task_switch(), won't go through > psi_task_change() anymore. > > So this patch move this check to psi_task_switch(). Note for defer sleep > case, we should wake periodic avgs work for common ancestors groups, > since those groups have next task sched_in. > > Fixes: 4117cebf1a9f ("psi: Optimize task switch inside shared cgroups") > Signed-off-by: Chengming Zhou <zhouchengming@xxxxxxxxxxxxx> Good catch! Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx>