Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8aa6e02e authored by Joonwoo Park's avatar Joonwoo Park
Browse files

cpufreq: sched: update capacity request upon tick always



At present, sched_freq_tick() skips updating of capacity update when
current frequency is fmax.  This can cause incorrect frequency drop
when :
  1. Task A enqueues onto CPU 0 and executes for multiple windows
  2. A new task B which has low task demand enqueues onto CPU 1 and
     executes long so becomes a CPU bound task.
  3. Both CPU 0 and 1 gets scheduler tick but skips sched_freq_tick()
     since current frequency is fmax.
  4. Task A sleeps and lower the CPU capacity request.
  5. Because task B voted CPU capacity at step 2 with low demand,
     cluster frequency for both CPU 0 and 1 drops to match capacity
     voted by CPU 2 at step 2 even though task B on CPU 1 requires max
     capacity.

Fix such incorrectness by not skipping CPU capacity voting at tick
path.

Change-Id: Ieb46af1ac96ffce7a5532c58c7f07bf1ada06b86
Signed-off-by: default avatarJoonwoo Park <joonwoop@codeaurora.org>
parent bb1596be
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment