2. Where are we?
● Community
● We're being listened to, our influence is growing
● Operational
● Continuous integration process in place
● Requirements and roadmap in place
● Technical
● We are tackling several heavy lifting problems
● Refactoring the ARM Linux kernel towards a unified
kernel tree
● LAVA test and validation framework
● Android and generic Linux (Ubuntu)
● Server coming (along with lots of new architecture)
3. Learning Lessons
I learnt these lessons from Tudor Brown (ARM),
just retired:
● Keep asking yourself – is this what the customer
actually wants?
● Don't over engineer the solution; you can never
make it future proof
● Phase your approach, three phases, each stable
and with measurable benefits is better than a
never-ending engineering project
● Find the simplicity beyond complexity
4. The Simplicity Beyond Complexity
The Linaro Mission(s):
● Avoid Fragmentation (clear up before the mess)
● Power management (10 hour battery life)
● Deliver components reliably and on time into
member products
5. Testing and Validation
LAVA
● How easy is it to deploy it into a
member's IP flow?
● We need really deep testing for
the kernel; need to move to
scenario driven testing
● Measurable benefits
(instrumentation and debug)
● Power management
● Video, graphics and multimedia
efficiency and tuning
6. The (ARM) Linux Kernel
● Continue to refactor the (ARM) Linux Kernel
● Lots of code left to shovel and systems to re-engineer
to support ARM Linux
● Prevent fragmentation before it happens
● New platforms (A15 and beyond)
● big.LITTLE, Virtualization, Server
● Even more kernel influence needed
● Make ARM a key Linux architecture
● If not the key architecture
● Get ready for ARMv8!
7. Power Management
Challenge: 10 hours is the minimum batter life for
a mobile device
● We have good foundations - refactoring
cpu_freq / cpu_idle
● Still some arguing around hotswap versus
cpu_idle
● LAVA instrumentation necessary to prove
improvements
● big.LITTLE is key technology here
8. Cortex-A15 Cortex-A7
CCI-400
CPU 1CPU 0 CPU 0 CPU 1
I$ I$ I$ I$D$ D$ D$ D$
L2 Cache + SCU L2 Cache + SCU
GIC-400
Distributor interface
CPU 0
Interface
CPU 1
Interface
CPU 2
Interface
CPU 3
Interface
CoreLink CCI-400 Cache Coherent Interconnect
Interrupts
big.LITTLE Overview
Hardware:
● High performance A15
cluster
● Energy efficient A7 cluster
● Coherent interconnect
Software:
● Task Migration (cluster
switching)
● MP
9. Media Acceleration
● Goal: Integration of all subsystems for the best
energy utilization (versus performance) over time
● 10 hours battery life playing 3D movies / games
● Difficult because it's OS / distribution specific
● Android versus generic Linux
● Linaro should concentrate on the kernel
subsystems
10. Toolchain
Tuning the base set of tools is great, but...
● Need to turn our attention to the whole system
● How do we balance computation across all
computing elements for the best battery life?
● Is OpenCL the answer or will Android drive
different MP / GPU solutions?
● Web languages / applications more and more
important
● renderscript
12. Phase One: Foundation
● We saw problems, we created Linaro
● Build the team(s)
● Learn to collaborate across a distributed organisation
● Community
● Establish links with the open source communities
● Technical
● Consolidate the ARM kernel tree
● Engineer toolchain(s) for success
13. Phase Two: ...and Empire
● Support mobile products
● Embrace Android
● Build continuous integration loop and test infrastructure
● Community
● Act as a 'center of gravity' for ARM Linux
● ARM maintainer's Tree
● Technical
● Advanced consolidation
● Unified memory management
● Power management unification
● Device Tree