HMP: Do not fork-boost tasks coming from PIDs <= 2
authorChris Redpath <chris.redpath@arm.com>
Tue, 12 Aug 2014 13:50:54 +0000 (14:50 +0100)
committerJon Medhurst <tixy@linaro.org>
Tue, 12 Aug 2014 16:46:57 +0000 (17:46 +0100)
commitf83262408293795e5186e9d1bf66d525b24fdb12
tree2a4cb0856459aad5c54c29e78ae7decb8801a75e
parent65abdc9b50378783981ed2f3453a0aae090404e4
HMP: Do not fork-boost tasks coming from PIDs <= 2

System services are generally started by init, whilst kernel threads
are started by kthreadd. We do not want to give those tasks a head
start, as this costs power for very little benefit. We do however
wish to do that for tasks which the user launches.

Further, some tasks allocate per-cpu timers directly after launch
which can lead to those tasks being always scheduled on a big CPU
when there is no computational need to do so. Not promoting services
to big CPUs on launch will prevent that unless a service allocates
their per-cpu resources after a period of intense computation, which
is not a common pattern.

Signed-off-by: Chris Redpath <chris.redpath@arm.com>
Signed-off-by: Jon Medhurst <tixy@linaro.org>
include/linux/sched.h
kernel/sched/core.c
kernel/sched/fair.c