On Mon, 2012-11-19 at 15:57 +0000, Chris Redpath wrote: > These patches are mine and Olivier's, can you tell me what your config is to > see even a 90s boot? I haven't noticed any boot-time extension on my system, > but I'm booting from the A15 cluster. I'd like to reproduce your system here.
The config Linaro uses for Android on vexpress is generated by the command: ARCH=arm scripts/kconfig/merge_config.sh \ linaro/configs/linaro-base.conf \ linaro/configs/android.conf \ linaro/configs/big-LITTLE-MP.conf \ linaro/configs/vexpress.conf I've push the kernel tree I had to my personal git area... http://git.linaro.org/gitweb?p=people/tixy/kernel.git;a=shortlog;h=refs/heads/integration-android-vexpress the Android userside I'm using the latest daily build: https://android-build.linaro.org/builds/~linaro-android/vexpress-jb-gcc47-armlt-tracking-open/#build=104 An Android images always takes a lot longer to boot first time, so before doing any timing boot a fresh image one and wait for it to settle down (the power/freq status LED on the TC2 coretile are a good indicator of when the system finally goes mostly idle) > The build error is my mistake, I need to know which CPU a task is on and it > looks like I have missed a dependency when I've changed the calling code. I > will sort out a patch for that asap. Even the 90 second boot seemed very long from what I remember, that's why I was also trying to to build without any big.LITTLE MP configured; was going to try different configs to see if I can narrow the slowness down. -- Tixy > Best Regards, > Chris > > > -----Original Message----- > > From: Jon Medhurst (Tixy) [mailto:t...@linaro.org] > > Sent: 19 November 2012 15:41 > > To: Viresh Kumar > > Cc: Andrey Konovalov; PDSW-power-team; Lists linaro-dev > > Subject: Re: [GIT PULL]; big LITTLE MP master v12 > > > > 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 > > > > > > > -- IMPORTANT NOTICE: The contents of this email and any attachments are > confidential and may also be privileged. If you are not the intended > recipient, please notify the sender immediately and do not disclose the > contents to any other person, use it for any purpose, or store or copy the > information in any medium. Thank you. _______________________________________________ linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev