Dietmar Eggemann posted a patch from Quentin
Perret to take advantage of
energy-efficient CPUs on asymmetric multiprocessor
(AMP) systems. AMP is
distinguished from SMP (symmetric multiprocessor) systems in that an SMP
system uses several instances of only one type of CPU, while an AMP system
might use CPUs of differing speeds, feature-sets and so on.
Quentin’s patch was an effort to take advantage of differences in power
consumption between the CPUs on an AMP system. It attempted to identify the
most efficient CPU that was not already saturated with processes and assign
newly awakened processes to it. If no CPUs fit the bill, standard SMP-type
methods of processor assignment would be used instead.
Dietmar explained, “The selection of the most energy-efficient CPU for a task
is achieved by estimating the impact on system-level active energy resulting
from the placement of the task on each candidate CPU. The best CPU
energy-wise is then selected if it saves a large enough amount of energy with
respect to prev_cpu.”
He acknowledged that this algorithm was a brute-force approach that could
work well only on systems with a relatively small number of CPUs. He said,
“This patch is an attempt to do something useful, as writing a fast heuristic
that performs reasonably well on a broad spectrum of architectures isn’t an
Patrick Bellasi and Joel Fernandes had no serious objections to the patch
and offered some technical suggestions. The discussion delved into various
technical issues and specific ways of addressing them, with no one raising
any controversial issues.
This is the type of situation with a patch where it might look like a lack of
opposition could let it sail into the kernel tree, but really, it just hasn’t
been thoroughly examined by Linux bigwigs yet. Once the various contributors
have gotten the patch as good as they can get it without deeper feedback,
they’ll probably send it up the ladder for inclusion in the main source tree.
At that point, the security folks will jump all over it, looking for ways
that a malicious user might force processes all onto only one particular CPU
(essentially mounting a denial-of-service attack) or some such thing. Even if
the patch survives that scrutiny, one of the other big-time kernel people, or
even Linus Torvalds, could reject the patch on the grounds that it should
represent a solution for large-scale systems as well as small.
Source: Linux Journal