Q2.12: Linaro Connect Q2.12 Opening Plenary

67 %
33 %
Information about Q2.12: Linaro Connect Q2.12 Opening Plenary
Technology

Published on March 20, 2014

Author: linaroorg

Source: slideshare.net

Description

Resource: Q2.12
Name: Linaro Connect Q2.12 Opening Plenary
Date: 28-05-2012
Speaker: Kiko and David

Innovation versus Maintenance A Linux on ARM Dilemma Christian “kiko” Reis kiko@linaro.org Linaro Connect Hong Kong Q2 2012

On Wed, Mar 30, 2011 at 6:31 PM, Nicolas Pitre wrote: > > But x86 is peanuts. Really.

Is x86 really peanuts? ● Many in-kernel features – ACPI – User-Mode Linux, KVM, Xen – vDSO – Suspend, resume, hibernate, cpufreq, cpuidle – perf, kprobes, uprobes – i386 to i7 to Medfield ● 25+ years of hardware

The x86 Platform ● Architecturally, x86 is pretty standardized: – Boot interface – PCI (including bus discoverability) – BIOS – VESA – Northbridge & Southbridge – Little-Endian ● Even x86 SoCs are quite similar to each other

The ARM Platform ● We do have some standards. However.. ● ARM doesn't specify complete systems Instead, chip makers do ● ARM's ecosystem has inherent variation – One one side lies madness – On the other trivialization

LOC per architecture in Linux 3.4 arm powerpc mips x86 m68k sparc sh blackfin ia64 cris s390 alpha 0 100000 200000 300000 400000 500000 600000 ● 486,429 LOC in arch/arm this month ● But how did we get here?

Is It All Nokia's Doing? ● 2005: Nokia releases the 770 on kernel 2.6.12 ● Support for the TI OMAP became a big deal ● OEM interest in Linux spurred upstreaming

Why upstreaming benefits OEMs ● Looking at it from their perspective: 1. A simpler software enablement story 2. The long-term ability to upgrade 3. Long-tail innovation ● A standard kernel can make up for the absence of a complete platform – However, it's like eating healthy food..

They asked for it! ● SoC vendors and software integrators got the message ● Major effort from 2008 onwards to upstream ● Mixed functional results – Many platforms have some support upstream – For most of them, support is partial at best ● However, led to a very important change

2.6.0 2.6.2 2.6.4 2.6.6 2.6.8 2.6.10 2.6.12 2.6.14 2.6.16 2.6.18 2.6.20 2.6.22 2.6.24 2.6.26 2.6.28 2.6.30 2.6.32 2.6.34 2.6.36 2.6.38 0 50000 100000 150000 200000 250000 300000 350000 MIPS x86 ARM 2.6.24: i386 & x86_64 consolidation 2.6.27: defconfig and marvell madness 2.6.35: defconfig genocide Lines changed per architecture for each kernel > 2.6.0 Linaro Founded (2010)

2.6.0 2.6.2 2.6.4 2.6.6 2.6.8 2.6.10 2.6.12 2.6.14 2.6.16 2.6.18 2.6.20 2.6.22 2.6.24 2.6.26 2.6.28 2.6.30 2.6.32 2.6.34 2.6.36 2.6.38 0 50000 100000 150000 200000 250000 300000 350000 MIPS x86 ARM Our collective karma! Lines changed per architecture for each kernel > 2.6.0 Linaro Founded (2010)

Victims of our own success! ● So Linus doesn't like big diffstats? Not really.. ● 3.4: 11086 files changed, 576155 insertions(+), 358368 deletions(-) ● Linus is concerned with poor design – Both on software and hardware platform level ● Certainly, the kernel wasn't designed to accommodate SoC variation – We know excessive variation is waste ● However, the answer isn't to reject variability – We should understand and plan for it!

2.6.0 2.6.2 2.6.4 2.6.6 2.6.8 2.6.10 2.6.12 2.6.14 2.6.16 2.6.18 2.6.20 2.6.22 2.6.24 2.6.26 2.6.28 2.6.30 2.6.32 2.6.34 2.6.36 2.6.38 0 10 20 30 40 50 60 70 80 plat-* mach-* ARM platform and machine directories MODIFIED for each kernel > 2.6.0 Linaro Founded arm-soc established

Innovation vs. Maintenence ● Our ecosystem has a rich inherent diversity ● This diversity is our strength – Each company developing new approaches to power, performance and price ● Learn from upstream's design concerns ● Unchecked, this innovation is unsustainable – We need to keep the platform healthy – We need to do it together ● We need good abstractions; let's build them!

Interlude: Have you ever submitted a patch to the Linux Kernel?

What Maintainers Care About diff --git a/arch/arm/common/clkdev.c b/arch/arm/common/clkdev.c index dba4c1d..e2b2bb6 100644 --- a/arch/arm/common/clkdev.c +++ b/arch/arm/common/clkdev.c @@ -53,12 +53,13 @@ static struct clk *clk_find(const char *dev_id, const char *con_id) continue; match += 1; } - if (match == 0) - continue; if (match > best) { clk = p->clk; - best = match; + if (match != 3) + best = match; + else + break; } } return clk;

What Maintainers Care About Maintainability beats everything else! ● Fact #1: Maintainers don't test your code – They couldn't, even if they wanted to! ● Fact #2: What gets you in trouble is breaking x86! ● Fact #3: The code needs to look good

End of Interlude

It's time we took wider ownership of the Linux software platform

Tools for Ownership ● Figure out what needs to change to accomodate YOUR new design – Nobody else will do it for you ● Relevant areas: 1. Enablement 2. Optimization 3. Ecosystem ● This week's Connect is a great place to start

1. Enablement ● Think about upstreaming early ● Get platform enablement right the first time – Device Tree – Pincontrol, regulators, common clock, dma-buf – Power management frameworks ● cpuidle, cpufreq, runtime PM, device PM ● Don't miss Monday's training sessions in Fountain – Follow Deepak there

2. Optimization ● Optimize, but remember the upstream context! ● Power management – big.LITTLE Switcher and MP ● v8 and the future of the architecture ● System-wide performance – Zero-copy for GPU, CPU ● Code-level optimization – The Linaro toolchain – NEON in-kernel – and where else?

3. Ecosystem ● The boot architecture – UEFI, ACPI and other evils ● Upgrades, enablement and the LTS Kernel ● Platforms – Android – Ubuntu – And beyond ● Validation and Continuous Integration

Welcome ● Thank you for making the time to come ● Connect is not for innocent bystanders – We expect YOU to help define the future ● I love this event, and I hope you will too

Add a comment

Related presentations

Presentación que realice en el Evento Nacional de Gobierno Abierto, realizado los ...

In this presentation we will describe our experience developing with a highly dyna...

Presentation to the LITA Forum 7th November 2014 Albuquerque, NM

Un recorrido por los cambios que nos generará el wearabletech en el futuro

Um paralelo entre as novidades & mercado em Wearable Computing e Tecnologias Assis...

Microsoft finally joins the smartwatch and fitness tracker game by introducing the...

Related pages

Linaro Connect Q2.12 Day 1 Session Videos Now Available ...

Day 1 of Linaro Connect Q2.12 on 28 May 2012 has already had some interesting moments which started with a packed room for the opening plenary sessions to ...
Read more

Linaro Connect Q1.12 Closing Plenary - YouTube

Linaro Connect Q1.12 Closing Plenary ... HKG15 : Opening Keynote - George Grey, Linaro CEO - Duration: 1:06:36. by Linaro OnAir 34,413 views.
Read more

Call for Submissions : Linaro Connect Q2.12 Plenaries

There will be 30 minutes of plenary talks daily from Tuesday through Friday at Linaro Connect Q2.12 ... in this Linaro Connect event. Plenary ...
Read more

George Grey, Linaro CEO, Plenary Presentation at Linaro ...

... Plenary Presentation at Linaro Connect Q1.12 held at the Sofitel Hotel in Redwood City, ... Opening Keynote - George Grey, Linaro CEO ...
Read more

Platform/Android/ConnectNotes - Linaro Wiki

... //launchpad.net/linaro-android/+milestone/connect-q2.12 http://summit.linaro.org/lcq2-12/ http://summit.linaro.org/lcq2-12/track/linaro-android/ 11 ...
Read more

Platform/DevPlatform/Connect - Linaro Wiki

Linaro Connect Planning and Discussions. Connect Q2.12. Connect Plans and Goals; Hacking Sessions; Connect Q1.12. Connect Plans and Goals; Hacking Sessions;
Read more

Comments on: Linaro Connect q2.12 - Marcin Juszkiewicz

Comments on: Linaro Connect q2.12

Great week, great people, awesome food :-) As you said, just missing some cool-new server-based ARM hardware ;-)


Read more