[Bloat] capacity awareness for the deadline scheduler

Michael Richardson mcr at sandelman.ca
Mon Jun 1 12:02:05 EDT 2020


article points out:

> The work of the deadline scheduler becomes more complicated in asymmetric
> CPU configurations, like big.LITTLE or DynamIQ. Such systems include
> different types of CPUs, with higher and lower performance. The same task
> running on a higher-performance ("big") CPU will take less time than when
> run on a lower-performance ("little") one. The deadline scheduler in
> current kernels does not take that difference into account, with the result
> that it can over-allocate the CPU time on lower-performance CPUs. Deadline
> tasks could end up on a little CPU, scheduled in such a way that they are
> unable to finish before their deadlines, while they would be able to do so
> on a higher-performance CPU. On such systems, the admission-control
> algorithm, which assumes that all CPUs perform at the level of the big
> ones, could overcommit the system with deadline tasks, making the system
> unusable.

and I wonder if in some cases it is better to keep a "little" CPU (which
presumably draws a lot less power) running continuously to deal with
deadlines than it is to wake up the "big" CPU to do stuff.

I understand that we learnt the opposite in the early days of Mobile CPUs: it
was best to run the CPU as fast (and hot) as possible to finish early and
suspend.  Sometimes it was even power-wise to turn the fan on.

But CPU-fast/sleep-long-time would lead to a high jitter on events that one
might want to be more regular.

--
]               Never tell me the odds!                 | ipv6 mesh networks [
]   Michael Richardson, Sandelman Software Works        |    IoT architect   [
]     mcr at sandelman.ca  http://www.sandelman.ca/        |   ruby on rails    [



More information about the Bloat mailing list