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