OSDN Git Service

FROMLIST: sched: use pelt for scale_rt_capacity()
authorVincent Guittot <vincent.guittot@linaro.org>
Fri, 27 Apr 2018 13:08:23 +0000 (15:08 +0200)
committerAmit Pundir <amit.pundir@linaro.org>
Tue, 14 Aug 2018 12:17:11 +0000 (17:47 +0530)
commit6fd027718dbf437af795ad146fca4d74b3066aed
tree75b4aa22439f3bbd4bd151e4bbd453f5a579d035
parentb9aec595227e770c52078d99e312e5fd630b6eac
FROMLIST: sched: use pelt for scale_rt_capacity()

The utilization of the CPU by rt, dl and interrupts are now tracked with
PELT so we can use these metrics instead of rt_avg to evaluate the remaining
capacity available for cfs class.

scale_rt_capacity() behavior has been changed and now returns the remaining
capacity available for cfs instead of a scaling factor because rt, dl and
interrupt provide now absolute utilization value.

The same formula as schedutil is used:
  irq util_avg + (1 - irq util_avg / max capacity ) * /Sum rq util_avg
but the implementation is different because it doesn't return the same value
and doesn't benefit of the same optimization

Cc: Ingo Molnar <mingo@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Vincent Guittot <vincent.guittot@linaro.org>
[ - Fixed issue with the max freq capping in update_cpu_capacity()
  - Fixed compile warning for !CONFIG_IRQ_TIME_ACCOUNTING ]
Signed-off-by: Quentin Perret <quentin.perret@arm.com>
Change-Id: I4a25191bba3b7b19d075f5a95845caebdbcb9c24
kernel/sched/deadline.c
kernel/sched/fair.c
kernel/sched/pelt.c
kernel/sched/rt.c