News from the ARM architecture
1 Historic issues with ARM kernel code
2 Future directions
3 Current workflow
4 Ongoing code changes
2 / 26 Arnd Bergmann c© 2010 IBM Corporation
News from the ARM architecture
Historic issues withARM kernel code
3 / 26 Arnd Bergmann c© 2010 IBM Corporation
News from the ARM architecture
History of ARM linux code, some time ago
Strong focus on embedded systems
Lots of out of tree codeAging code baseLosing the war on complexityClose to collapse
4 / 26 Arnd Bergmann c© 2010 IBM Corporation
News from the ARM architecture
History of ARM linux code, some time ago
Strong focus on embedded systemsLots of out of tree code
Aging code baseLosing the war on complexityClose to collapse
4 / 26 Arnd Bergmann c© 2010 IBM Corporation
News from the ARM architecture
History of ARM linux code, some time ago
Strong focus on embedded systemsLots of out of tree codeAging code base
Losing the war on complexityClose to collapse
4 / 26 Arnd Bergmann c© 2010 IBM Corporation
News from the ARM architecture
History of ARM linux code, some time ago
Strong focus on embedded systemsLots of out of tree codeAging code baseLosing the war on complexity
Close to collapse
4 / 26 Arnd Bergmann c© 2010 IBM Corporation
News from the ARM architecture
History of ARM linux code, some time ago
Strong focus on embedded systemsLots of out of tree codeAging code baseLosing the war on complexityClose to collapse
4 / 26 Arnd Bergmann c© 2010 IBM Corporation
News from the ARM architecture
Technical problems in the ARM codebase
Any new hardware mandates code changesNo common platform modelMultiple platforms mutually exclusive at compile timeInfrastructure in hardware specific code
5 / 26 Arnd Bergmann c© 2010 IBM Corporation
News from the ARM architecture
Management problems
Independent vendor specific communitiesLittle incentive for cooperation and peer review
Russell King could no longer keep up⇒ Lack of pushback on crapLinus Torvalds could not keep up either⇒ Lack of merging new code
6 / 26 Arnd Bergmann c© 2010 IBM Corporation
News from the ARM architecture
Management problems
Independent vendor specific communitiesLittle incentive for cooperation and peer reviewRussell King could no longer keep up⇒ Lack of pushback on crap
Linus Torvalds could not keep up either⇒ Lack of merging new code
6 / 26 Arnd Bergmann c© 2010 IBM Corporation
News from the ARM architecture
Management problems
Independent vendor specific communitiesLittle incentive for cooperation and peer reviewRussell King could no longer keep up⇒ Lack of pushback on crapLinus Torvalds could not keep up either⇒ Lack of merging new code
6 / 26 Arnd Bergmann c© 2010 IBM Corporation
News from the ARM architecture
Going beyond embedded
DesktopsServers64 bit CPU implementation
One out of the two main linux architectures
8 / 26 Arnd Bergmann c© 2010 IBM Corporation
News from the ARM architecture
Going beyond embedded
DesktopsServers64 bit CPU implementationOne out of the two main linux architectures
8 / 26 Arnd Bergmann c© 2010 IBM Corporation
News from the ARM architecture
Ideal architecture port
Generic user space ABIDevice drivers in subsystems, not subarchitecturesBoot time hardware detectionNo mutually exclusive build time optionsMinimum kernel changes for new hardware
9 / 26 Arnd Bergmann c© 2010 IBM Corporation
News from the ARM architecture
2011 direction changes
Flattened device treeSingle zImage for armv6/v7Duplicate code removalMoving device drivers to subsystemsCo-maintaining arm-soc.git
11 / 26 Arnd Bergmann c© 2010 IBM Corporation
News from the ARM architecture
Changes we did not do
Converge on a single clean platformMove legacy platforms to subdir
12 / 26 Arnd Bergmann c© 2010 IBM Corporation
News from the ARM architecture
2011 achievements
1 new source tree
2 subarch maintainer summits3 merge windows using arm-soc.git4 clean new subarchitectures
13 / 26 Arnd Bergmann c© 2010 IBM Corporation
News from the ARM architecture
2011 achievements
1 new source tree2 subarch maintainer summits
3 merge windows using arm-soc.git4 clean new subarchitectures
13 / 26 Arnd Bergmann c© 2010 IBM Corporation
News from the ARM architecture
2011 achievements
1 new source tree2 subarch maintainer summits3 merge windows using arm-soc.git
4 clean new subarchitectures
13 / 26 Arnd Bergmann c© 2010 IBM Corporation
News from the ARM architecture
2011 achievements
1 new source tree2 subarch maintainer summits3 merge windows using arm-soc.git4 clean new subarchitectures
13 / 26 Arnd Bergmann c© 2010 IBM Corporation
News from the ARM architecture
Changesets merged
Kernel rmk arm-soc arch/arm total overall2.6.39 680 0 1187 110313.0 265 22 518 98433.1 274 557 980 93803.2 286 701 1355 126953.3-rc3 231 572 899 10263
14 / 26 Arnd Bergmann c© 2010 IBM Corporation
News from the ARM architecture
Top arm-soc contributors by changesets
174 Arnd Bergmann78 Olof Johansson69 Shawn Guo65 Kevin Hilman57 Benoit Cousson53 Kukjin Kim52 Tony Lindgren51 Linus Torvalds50 Jean-Christophe PLAGNIOL-VILLARD46 Fabio Estevam
Total number of contributors: 236
15 / 26 Arnd Bergmann c© 2010 IBM Corporation
News from the ARM architecture
Top contributors by non-merge changesets
69 Shawn Guo65 Kevin Hilman57 Benoit Cousson50 Jean-Christophe PLAGNIOL-VILLARD46 Fabio Estevam43 Stephen Warren43 Mark Brown38 Thomas Abraham34 Paul Walmsley32 Kukjin Kim
Total number of contributors: 235
16 / 26 Arnd Bergmann c© 2010 IBM Corporation
News from the ARM architecture
arm-soc maintainer role
Sponsored by Linaro and GoogleVendor neutralDefine and enforce common rules for everyoneMerging code upstream to LinusCoordination with RussellPushing back on crap
17 / 26 Arnd Bergmann c© 2010 IBM Corporation
News from the ARM architecture
arm-soc workflow
Pulling many per soc topic branchesPushing cross-soc topic branchesOne for-next branch, rebasingEarly staging branchesNot quite clean allowed when doing cleanups
DEMO
18 / 26 Arnd Bergmann c© 2010 IBM Corporation
News from the ARM architecture
arm-soc workflow
Pulling many per soc topic branchesPushing cross-soc topic branchesOne for-next branch, rebasingEarly staging branchesNot quite clean allowed when doing cleanupsDEMO
18 / 26 Arnd Bergmann c© 2010 IBM Corporation
News from the ARM architecture
Multiplatform: Single zImage status
Taking longer than expected
Breakthrough imminentProgress largely invisibleOne problem at a time, across all platformsFocus on ARMv6 and ARMv7Rob Herring has some success with two platforms
20 / 26 Arnd Bergmann c© 2010 IBM Corporation
News from the ARM architecture
Multiplatform: Single zImage status
Taking longer than expectedBreakthrough imminent
Progress largely invisibleOne problem at a time, across all platformsFocus on ARMv6 and ARMv7Rob Herring has some success with two platforms
20 / 26 Arnd Bergmann c© 2010 IBM Corporation
News from the ARM architecture
Multiplatform: Single zImage status
Taking longer than expectedBreakthrough imminent
Progress largely invisibleOne problem at a time, across all platformsFocus on ARMv6 and ARMv7Rob Herring has some success with two platforms
20 / 26 Arnd Bergmann c© 2010 IBM Corporation
News from the ARM architecture
Multiplatform: Single zImage status
Taking longer than expectedBreakthrough imminentProgress largely invisibleOne problem at a time, across all platformsFocus on ARMv6 and ARMv7
Rob Herring has some success with two platforms
20 / 26 Arnd Bergmann c© 2010 IBM Corporation
News from the ARM architecture
Multiplatform: Single zImage status
Taking longer than expectedBreakthrough imminentProgress largely invisibleOne problem at a time, across all platformsFocus on ARMv6 and ARMv7Rob Herring has some success with two platforms
20 / 26 Arnd Bergmann c© 2010 IBM Corporation
News from the ARM architecture
Device tree status
Taking longer than expected
Breakthrough imminentPinmux bindings for 3.4 (Linus Walleij)Clock bindings for 3.4 (Grant Likely/Mike Turquette)New platforms: prima2, zynq, highbank, picoxcellLargely converted: exynos, i.mx, tegraIn progress: vexpress, at91, omap, ux500, msmLots of simple device driver bindings
21 / 26 Arnd Bergmann c© 2010 IBM Corporation
News from the ARM architecture
Device tree status
Taking longer than expectedBreakthrough imminent
Pinmux bindings for 3.4 (Linus Walleij)Clock bindings for 3.4 (Grant Likely/Mike Turquette)New platforms: prima2, zynq, highbank, picoxcellLargely converted: exynos, i.mx, tegraIn progress: vexpress, at91, omap, ux500, msmLots of simple device driver bindings
21 / 26 Arnd Bergmann c© 2010 IBM Corporation
News from the ARM architecture
Device tree status
Taking longer than expectedBreakthrough imminentPinmux bindings for 3.4 (Linus Walleij)
Clock bindings for 3.4 (Grant Likely/Mike Turquette)New platforms: prima2, zynq, highbank, picoxcellLargely converted: exynos, i.mx, tegraIn progress: vexpress, at91, omap, ux500, msmLots of simple device driver bindings
21 / 26 Arnd Bergmann c© 2010 IBM Corporation
News from the ARM architecture
Device tree status
Taking longer than expectedBreakthrough imminentPinmux bindings for 3.4 (Linus Walleij)Clock bindings for 3.4 (Grant Likely/Mike Turquette)
New platforms: prima2, zynq, highbank, picoxcellLargely converted: exynos, i.mx, tegraIn progress: vexpress, at91, omap, ux500, msmLots of simple device driver bindings
21 / 26 Arnd Bergmann c© 2010 IBM Corporation
News from the ARM architecture
Device tree status
Taking longer than expectedBreakthrough imminentPinmux bindings for 3.4 (Linus Walleij)Clock bindings for 3.4 (Grant Likely/Mike Turquette)New platforms: prima2, zynq, highbank, picoxcellLargely converted: exynos, i.mx, tegraIn progress: vexpress, at91, omap, ux500, msm
Lots of simple device driver bindings
21 / 26 Arnd Bergmann c© 2010 IBM Corporation
News from the ARM architecture
Device tree status
Taking longer than expectedBreakthrough imminentPinmux bindings for 3.4 (Linus Walleij)Clock bindings for 3.4 (Grant Likely/Mike Turquette)New platforms: prima2, zynq, highbank, picoxcellLargely converted: exynos, i.mx, tegraIn progress: vexpress, at91, omap, ux500, msmLots of simple device driver bindings
21 / 26 Arnd Bergmann c© 2010 IBM Corporation
News from the ARM architecture
Randconfig builds
Taking longer than expected
Delayed-by: Arnd Bergmann <[email protected]>
Integration into Linaro CI loopabout 150 patch seriesRegression testingLooking for volunteers
22 / 26 Arnd Bergmann c© 2010 IBM Corporation
News from the ARM architecture
Randconfig builds
Taking longer than expectedDelayed-by: Arnd Bergmann <[email protected]>
Integration into Linaro CI loop
about 150 patch seriesRegression testingLooking for volunteers
22 / 26 Arnd Bergmann c© 2010 IBM Corporation
News from the ARM architecture
Randconfig builds
Taking longer than expectedDelayed-by: Arnd Bergmann <[email protected]>
Integration into Linaro CI loopabout 150 patch seriesRegression testingLooking for volunteers
22 / 26 Arnd Bergmann c© 2010 IBM Corporation
News from the ARM architecture
Memory management changes
Continuous memory allocatordma-buf infrastructuregeneric iommu handling in dma-mapping API
23 / 26 Arnd Bergmann c© 2010 IBM Corporation
News from the ARM architecture
Summary
Lots of work getting done:device tree, consolidation, cleanupNot running out of work anytime soon:new platforms, ARMv8, multiplatform kernels
Linux on ARM world domination coming,still busy with the details
24 / 26 Arnd Bergmann c© 2010 IBM Corporation
News from the ARM architecture
Summary
Lots of work getting done:device tree, consolidation, cleanupNot running out of work anytime soon:new platforms, ARMv8, multiplatform kernelsLinux on ARM world domination coming,still busy with the details
24 / 26 Arnd Bergmann c© 2010 IBM Corporation
News from the ARM architecture
Legal Statement
This work represents the view of the author and does not necessarilyrepresent the view of IBM.IBM, IBM (logo), e-business (logo), pSeries, e (logo) server, andxSeries are trademarks or registered trademarks of InternationalBusiness Machines Corporation in the United States and/or othercountries.Linux is a registered trademark of Linus Torvalds.Other company, product, and service names may be trademarks orservice marks of others.
25 / 26 Arnd Bergmann c© 2010 IBM Corporation