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



_______________________________________________
linaro-dev mailing list
linaro-dev@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-dev

Reply via email to