You are viewing paulmck

Previous Entry | Next Entry

Thursday's pair of sessions covered Device Tree and the how/who of ARM Linux consolidation. This was followed by a wrap-up session on Friday morning.

On Device Tree, Russell King acked the infrastructure patches, so we can now open the floodgates for its exploitation by ARM boards and SoCs. Woo-hoo!!! ;–)

Grant Likely expects to get these patches into 2.6.40, where they will serve the PowerPC as well as the ARM architectures. PowerPC will make fuller use of this infrastructure by moving to the new-style irq domain by 2.6.41. Note that we once again have Linux core code rather than ARM-specific code. This has a number of important benefits: (1) A larger number of developers can be focused on a common piece of code, which should increase quality and maintainability. (2) Use of Linux core code instead of ARM-specific code reduces the pressure on the ARM maintainers.

The ARM portion of the device-tree effort is not limited to Linaro members. For example, David Brown of Qualcomm will be starting on device tree for MSM and Grant Likely and Arnd Bergmann will be working with the Xilincs folks to get Xilincs support with device tree merged in 2.6.40.

Device Tree requires .dts files that describe a given system, and so much discussion centered around where these files might live. We eventually settled on placing them in the kernel source tree in the short term, but moving them to a new device-tree repository once this effort is well under way.

Finally, Device Tree is not complete. Over time, new bindings will need to be defined to cover additional hardware and IP blocks. But this will always be the case: new types of IP blocks will appear, and as they appear, device tree may need to evolve to accommodate them. I never could have predicted that accelerometers and GPS units would appear in hand-held battery powered devices, and so I freely admit that I cannot imagine what will appear over the next five or ten years. But I do know that whatever strange devices might appear, device tree must evolve to handle them.

The next Thursday session covered specifically how to handle the ARM-Linus interface going forward.

There will (of course) be a new git tree. After all, just as every computer-science problem seems to be solvable by an additional level of indirection, every maintainership problem seems to be solvable by an additional level of git tree. This new git tree will have at least one branch per participating ARM subarchitecture, and these branches will not normally be subject to rebasing. As you would expect, maintainers of participating ARM sub-architectures will send pull requests to a group of maintainers for this new git tree. A merge of all the branches will be sent to Stephen Rothwell's -next tree, but the branches will be individually pushed to Linus Torvalds.

Please note that this new maintainership regime is not limited to Linaro, but neither is it mandatory for non-Linaro ARM subarchitectures.

The membership of this overall ARM subarchitecture maintainers group will start with Arnd Bergman, Nicolas Pitre, and Marc Zyngier, with help from Thomas Gleixner. Russell King will also have write access to this tree. This effort will start with 2.6.41. The plan is to start small and evolve to handle the load.

Will this solve all ARM maintainership problems?

Of course not!

For but one example, there will still be a need for more maintainers for the various ARM subarchitectures, many of which are quite complex. However, this new effort will be very helpful, and the parallel ARM consolidation efforts should also help reduce the size of the ARM tsunami of Linux kernel code. We were all in favor this group evolving to meeting changing needs rather than attempting any sort of “intelligent design”.

Friday's session was wrap-up. The notes for all sessions are publicly available:

  1. Monday session.
  2. Tuesday session.
  3. Wednesday session.
  4. Thursday session.
  5. Second Thursday session.
  6. Third Thursday session.

Wrap-up notes may be found at the end of this session, search for "summary of".

Look for additional discussion/flaming on the arm-linux-kernel and linux-kernel mailing lists!



May. 16th, 2011 08:15 pm (UTC)
Links for Tuesday session till "Third Thursday session." are
broken - lead to "503 Service Unavailable".

Rami Rosen
May. 20th, 2011 04:12 pm (UTC)
Works for me today
If it still doesn't work for you, please let me know and I will put up text versions of any affected pages.