Hi,
Here's a new version of the patch-set to get rid of the energy margin in
feec(). Many thanks to all for the insightful comments I got.
find_energy_efficient() (feec()) will migrate a task to save energy only if
it saves at least 6% of the total energy consumed by the system. This
conservative approach is a problem on a system where a lot of small tasks
create a huge load on the overall: very few of them will be allowed to
migrate to a smaller CPU, wasting a lot of energy. Instead of trying to
determine yet another margin, let's try to remove it.
The first elements of this patch-set are various fixes and improvement that
stabilizes task_util and ensures energy comparison fairness across all CPUs
of the topology. Only once those fixed, we can completely remove the margin
and let feec() aggressively place task and save energy.