sched: Introduce the concept CPU clusters in the scheduler

A cluster is set of CPUs sharing some power controls and an L2 cache.
This patch buids a list of clusters at bootup which are sorted by
their max_power_cost. Many cluster-shared attributes like cur_freq,
max_freq etc are needlessly maintained in per-cpu 'struct rq' currently.
Consolidate them in a cluster structure.

Change-Id: I0567672ad5fb67d211d9336181ceb53b9f6023af
Signed-off-by: Srivatsa Vaddagiri <vatsa@codeaurora.org>
[joonwoop@codeaurora.org: fixed minor conflict in
 arch/arm64/kernel/topology.c. fixed conflict due to ommited changes for
Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
 CONFIG_SCHED_QHMP.]
[rameezmustafa@codeaurora.org: Remove scheduler parts of the change to
 port to msm-4.8. Those have been dealt with separately.]
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
2 files changed