- About Linaro
The charter of Linaro’s Kernel Working Group (KWG) is to improve support for ARM SOCs in the upstream Linux kernel. The KWG is currently divided into several sub-teams working across a number of areas:
The Kernel consolidation subteam is focused on supporting 32 bit ARM CPUs. This work includes co-maintaining the arm-soc tree and consolidating disparate driver subsystem implementations. This is the oldest team in the KWG and in the last two years has developed the pin mux subystem, driven adoption of device tree, and reduced the fragmentation of the arm kernel codebase. The main goal of the sub-team is to get to the point where we can build a single kernel binary that can boot on any v7 SOC. This work will enable the ARM server distribution vendors to provide a single install and boot image that will work on any ARM-based platform, similar to what is currently available on x86 systems. In addition, this sub team is working on enabling some missing functionality on ARM systems such as uprobes.
As the name suggests, the Android upstreaming sub team is working on reducing the delta between Linus Torvals’ kernel.org and Google’s Android kernel tree. This sub-team works actively with the kernel community and Google engineers to understand the requirements of the Android userspace codebase (AOSP) and re-implement the Android kernel features in such a way that they can be merged upstream. So far Linaro has helped with the upstreaming of wakelocks, the FIQ debugger, the key reset driver, and alarm timers. We are currently focused on the low memory killer, the ashmem volatile memory manager, and will soon start looking at the ION module.
Our storage team works on improving the performance of the Linux kernel’s storage stack on flash-based media that is used on mobile and increasingly enterprise-class devices. The current focus of the team is mapping features found in the eMMC 4.5 and 5.0 specifications into both filesystem and driver level code. In the past, the sub-team provided early review of the F2FS filesystem code and helped ensure an easy upstreaming process.
The ARMv8 team is currently under formation and will be working closely with ARM’s internal team to ensure that the ARMv8 platforms have feature parity with both 32 bit ARM systems and with x86 servers. The first set of features we will be looking at include ftrace, kprobes/uprobes, and kgdb. As part of this work, we will also work with our distribution members enable enterprise class features on the v8 kernel and fix any issues that are found.
The KWG is a fully upstream focused team and follows standard processes of the upstream kernel community. Our patches are posted to appropriate mailing lists (linux-arm-kernel for the majority of our work) for review. The best way to follow the work we are doing is to subscribe to these lists and also to take a look at our wiki page. Also, feel free to send a message to email@example.com if you have a specific technical question that is not covered in our wiki.