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

Reply via email to