On Sun, 2012-11-18 at 10:40 +0530, Viresh Kumar wrote:
Hi Andrey,
Please pull big-LITTLE-MP-master-v12 with following updates:
- Based on v3.7-rc5
- Stats:
- Total Patches: 62
- New Patches: 1
- genirq: Add default affinity mask command line option in
misc-patches branch
- top 3 patches in: sched-pack-small-tasks-v1
- top 2 patches in: task-placement-v2
- additional patch in: config-fragments
- Dropped patches/branches (as they are managed in experimental
merge branch): 20
- patches in per-entity-load-tracking-with-core-sched-v1: 15
- Updated Patches: 0
This version increases Android boot time by a factor of 3, from 91
seconds to 257 seconds, this is comparing it with the version of the
master-v12 branch created on Nov 15th. Looking at the differences in the
code, one obvious thing which stands out is big-LITTLE-MP.conf now has:
CONFIG_HMP_VARIABLE_SCALE=y
CONFIG_HMP_FREQUENCY_INVARIANT_SCALE=y
If I remove this then boot time goes back to 90 seconds.
Also, if I build without big-LITTLE-MP.conf the I get a build error:
kernel/sched/fair.c: In function 'update_entity_load_avg':
kernel/sched/fair.c:1469:26: error: 'struct sched_entity' has no member
named 'cfs_rq'
--
Tixy
> ---------------------x--------------------------x-----------------------
>
> The following changes since commit 77b67063bb6bce6d475e910d3b886a606d0d91f7:
>
> Linux 3.7-rc5 (2012-11-11 13:44:33 +0100)
>
> are available in the git repository at:
>
> git://git.linaro.org/arm/big.LITTLE/mp.git big-LITTLE-MP-master-v12
>
> for you to fetch changes up to f942092bd1008de7379b4a52d38dc03de5949fc8:
>
> Merge branches 'arm-multi_pmu_v2', 'hw-bkp-v7.1-debug-v1',
> 'task-placement-v2', 'misc-patches', 'config-fragments' and
> 'sched-pack-small-tasks-v1' into big-LITTLE-MP-master-v12-v2
> (2012-11-17 09:29:41 +0530)
>
> ----------------------------------------------------------------
>
> Ben Segall (1):
> sched: Maintain per-rq runnable averages
>
> Chris Redpath (1):
> ARM: Experimental Frequency-Invariant Load Scaling Patch
>
> Dietmar Eggemann (1):
> ARM: hw_breakpoint: v7.1 self-hosted debug powerdown support
>
> Jon Medhurst (1):
> ARM: sched: Avoid empty 'slow' HMP domain
>
> Liviu Dudau (2):
> Revert "sched: secure access to other CPU statistics"
> linaro/configs: big-LITTLE-MP: Enable the new tunable sysfs
> interface by default.
>
> Lorenzo Pieralisi (1):
> ARM: kernel: provide cluster to logical cpu mask mapping API
>
> Marc Zyngier (1):
> ARM: perf: add guest vs host discrimination
>
> Mark Rutland (1):
> ARM: perf: register cpu_notifier at driver init
>
> Morten Rasmussen (15):
> sched: entity load-tracking load_avg_ratio
> sched: Task placement for heterogeneous systems based on task
> load-tracking
> sched: Forced task migration on heterogeneous systems
> sched: Introduce priority-based task migration filter
> ARM: Add HMP scheduling support for ARM architecture
> ARM: sched: Use device-tree to provide fast/slow CPU list for HMP
> ARM: sched: Setup SCHED_HMP domains
> sched: Add ftrace events for entity load-tracking
> sched: Add HMP task migration ftrace event
> sched: SCHED_HMP multi-domain task migration control
> sched: Enable HMP priority filter by default
> sched: Only down migrate low priority tasks if allowed by affinity mask
> linaro/configs: Enable HMP priority filter by default
> sched: SD_SHARE_POWERLINE buddy selection fix
> ARM: TC2: Re-enable SD_SHARE_POWERLINE
>
> Olivier Cozette (1):
> ARM: Change load tracking scale using sysfs
>
> Paul Turner (15):
> sched: Track the runnable average on a per-task entity basis
> sched: Aggregate load contributed by task entities on parenting cfs_rq
> sched: Maintain the load contribution of blocked entities
> sched: Add an rq migration call-back to sched_class
> sched: Account for blocked load waking back up
> sched: Aggregate total task_group load
> sched: Compute load contribution by a group entity
> sched: Normalize tg load contributions against runnable time
> sched: Maintain runnable averages across throttled periods
> sched: Replace update_shares weight distribution with per-entity
> computation
> sched: Refactor update_shares_cpu() -> update_blocked_avgs()
> sched: Update_cfs_shares at period edge
> sched: Make __update_entity_runnable_avg() fast
> sched: Introduce temporary FAIR_GROUP_SCHED dependency for load-tracking
> sched: implement usage tracking
>
> Peter Zijlstra (1):
> sched: Describe CFS load-balancer
>
> Sudeep KarkadaNagesha (9):
> ARM: perf: allocate CPU PMU dynamically at probe time
> ARM: perf: consistently use struct perf_event in arm_pmu functions
> ARM: perf: check ARMv7 counter validity on a per-pmu basis
> ARM: perf: replace global CPU PMU pointer with per-cpu pointers
> ARM: perf: register CPU PMUs with idr types
> ARM: perf: set cpu affinity to support multiple PMUs
> ARM: perf: set cpu affinity for the irqs correctly
> ARM: perf: remove spaces in CPU PMU names
> ARM: perf: save/restore pmu registers in pm notifier
>
> Thomas Gleixner (1):
> genirq: Add default affinity mask command line option
>
> Vincent Guittot (5):
> sched: add a new SD SHARE_POWERLINE flag for sched_domain
> sched: pack small tasks
> sched: secure access to other CPU statistics
> sched: pack the idle load balance
> ARM: sched: clear SD_SHARE_POWERLINE
>
> Viresh Kumar (5):
> Revert "sched: Introduce temporary FAIR_GROUP_SCHED dependency
> for load-tracking"
> configs: Add config fragments for big LITTLE MP
> linaro/configs: Update big LITTLE MP fragment for task placement work
> config-frag/big-LITTLE: Use device-tree to provide fast/slow CPU
> list for HMP
> Merge branches 'arm-multi_pmu_v2', 'hw-bkp-v7.1-debug-v1',
> 'task-placement-v2', 'misc-patches', 'config-fragments' and
> 'sched-pack-small-tasks-v1' into big-LITTLE-MP-master-v12-v2
>
> Will Deacon (2):
> ARM: perf: return NOTIFY_DONE from cpu notifier when no available PMU
> ARM: perf: consistently use arm_pmu->name for PMU name
>
> Documentation/devicetree/bindings/arm/pmu.txt | 3 +
> Documentation/kernel-parameters.txt | 9 +
> arch/arm/Kconfig | 85 ++
> arch/arm/include/asm/perf_event.h | 5 +
> arch/arm/include/asm/pmu.h | 40 +-
> arch/arm/include/asm/topology.h | 34 +
> arch/arm/kernel/hw_breakpoint.c | 57 +
> arch/arm/kernel/perf_event.c | 103 +-
> arch/arm/kernel/perf_event_cpu.c | 169 ++-
> arch/arm/kernel/perf_event_v6.c | 130 +-
> arch/arm/kernel/perf_event_v7.c | 295 ++--
> arch/arm/kernel/perf_event_xscale.c | 161 +-
> arch/arm/kernel/topology.c | 125 ++
> arch/ia64/include/asm/topology.h | 1 +
> arch/tile/include/asm/topology.h | 1 +
> include/linux/sched.h | 29 +
> include/linux/topology.h | 3 +
> include/trace/events/sched.h | 153 ++
> kernel/irq/irqdesc.c | 21 +-
> kernel/sched/core.c | 16 +
> kernel/sched/debug.c | 39 +-
> kernel/sched/fair.c | 1942 ++++++++++++++++++++++---
> kernel/sched/sched.h | 65 +-
> linaro/configs/big-LITTLE-MP.conf | 13 +
> 24 files changed, 2943 insertions(+), 556 deletions(-)
> create mode 100644 linaro/configs/big-LITTLE-MP.conf
>
> _______________________________________________
> linaro-dev mailing list
> linaro-dev@lists.linaro.org
>
http://lists.linaro.org/mailman/listinfo/linaro-dev