sched/walt: Fix stale window start marker passed to the schedutil
With commit d8c5bfcc ("sched: Make sure window start passed to schedutil is consistent"), the rq->load_reported_window is presented to the governor as the window_start marker. The rq->load_reported_window is updated when load is reported to governor only during a window rollover. So it should be consistent with the current window start mark. But for a just hotplugged in CPU, the rq->load_reported_window is not updated until the next window rollover. If the load is reported for any other reason before the next window rollover, the window start marker passed to the schedutil would be stale and leads to a BUG_ON() in schedutil. The recent window start marker is cached in WALT in walt_irq_work_lastq_ws. Use this instead of load_reported_window to fix this problem. The rq->window_start is cached in rq->load_reported_window to filter the utilization updates in the same window. This is not needed since utilization updates are not sent when SCHED_CPUFREQ_WALT flag is not set. So kill the load_reported_window maintenance. Change-Id: Idaefcb0b9cecb15ea436ac7a66cb6da81e3852a1 Signed-off-by:Pavankumar Kondeti <pkondeti@codeaurora.org>
Loading
Please register or sign in to comment