First-time Linux users have sometimes been heard to complain that Linux’s audio system can be a bit troublesome. Given that these users can be less than understanding when they fail to get sound out of their system, it is good that Linux audio has been getting more attention. Lennart Poettering, who leads the PulseAudio project and who got his start back with the Linux 2.0.30 kernel, has pulled together an excellent microconference on the Linux audio system, past, present, and future.

The first topic is the ghost of Linux audio past, in the form of “Origins and Futures for Linux Audio Infrastructure”, by Paul Davis. Paul will discuss how Linux’s audio environment got to where it is, and how the limited conception of “audio on a computer” by some of the early projects resulted in the current wide variety of Linux audio systems, including OSS, ALSA, JACK, and PulseAudio. He will also offer up discussion as to whether the underlying problem is technical or political.

Lennart himself will deal with the ghost of Linux audio present with “State of Linux Audio in 2009”, and then hand off to the ghost of Linux Audio future, in the form of “Linux Audio for Mobile and Consumer Devices: Challenges and Evolutions” by Pierre-Louis Bossart. Pierre discusses the challenges of enabling hardware accelerators for energy conservation or for DRM-protected content. This is expected to require PulseAudio to control not only native streams in the CPU, but also hardware-mixed streams, while still giving the user full control. This will lead to the need for audio policies, to be set by OEM or distribution maintainers. The final gaze into the crystal ball involves the latencies of audio and video rendering, the discussion of which is hoped to generate ideas on lip-sync and on receiver adaptation.

If Linux ran only on desktops, laptops, notebooks, and servers, this might be the end of the story. But Linux is not to be so constrained, and we therefore have the ghost of audio handheld, in the form of “Practical Experiences from Using PulseAudio in Embedded Handheld Devices” by Jyri Sarha. Jyri will discuss integration of complex audio-enhancement algorithms such as acoustic echo cancellation to PulseAudio, as well as implementation of low-latency audio applications as PulseAudio modules.

With your help, we can further improve the state of Linux Audio!

Boot and Init

Whether you work on utilities, libraries, compiler, or kernel, seeing the login prompt is a key milestone. This is especially the case when making a change that affects the boot-time operation of multiple components. Boot-time and initialization issues are therefore an important topic for the Linux Plumbers Conference.

We are fortunate to have Dave Jones, codemonkey extraordinaire, and one of the forces behind the Fedora projects, and author of “Why Userspace Sucks” running the “Boot and Init” microconference. Dave has come through for us, selecting an important set of topics.

Dave’s first selection is “Lazy Boot” by Kyle McMartin. Kyle asks some forehead-slappingly important questions about the boot process, including “why do we need to load sound drivers before we have a filesystem mounted read-write?”, “why do we need CUPS running without any printers attached?”, and “if if you do have a printer, why do you need it before your network is up?” In general, “when is the appropriate time to start system services?” With some luck, this line of reasoning will result in further decreases in Linux’s boot time.

Dave’s second selection is “Upstart 1.0” by Scott James Remnant. Upstart is an event-driven replacement for the long-in-tooth System-V init utility that makes use of Linux innovations, including D-Bus. Among Upstart’s many features is the ability to respawn services that die unexpectedly, which should provide an even greater level of resilience to the Linux experience.

Dave’s final selection is “Dracut — A Generic ‘initramfs’ Infrastructure” by Harald Hoyer. Traditional experiences with debugging and improving the initramfs process have been less than pleasant, which has motivated Harald to develop a modular event-driven initramfs process that works seamlessly across distros. Dracut promises to ease changes to Linux’s boot and initialization.

Embedded Systems

Some would say that Linux has been successful in the embedded space in spite of itself, as there has been relatively little communication between the embedded Linux community and the larger Linux community. Although this has been changing over the past few years, continued progress would be beneficial.

Given his success in bringing many device manufacturers into the Linux community, we can think of no one better than Greg Kroah-Hartman to lead up Linux Plumber Conference’s Embedded microconference. Greg has duly assembled a very impressive lineup.

Greg starts with a real live embedded-Linux developer, Mike Rapoport, who will present “Embedded Linux Development: a Glance From Inside.” Mike works for a small embedded company, so is in a good position to describe the process of embedded-device development and the constraints that this process imposes on embedded developers. He will use this information to analyze the reasons for the relatively low number of contributions to the Linux kernel from the embedded community.

Greg then moves to a real embedded project with “Lessons Learned Designing an Open Source UMPC” by Ben Goska, Tim Harder, and Carlos Jensen. This project produced both the hardware and software for an ultra-mobile personal computer (UMPC) named OSWALD (for Oregon State Wireless Active Learning Device). The purpose of OSWALD is to encourage students to learn about every aspect of computing by permitting experimentation at any level from hardware through firmware and kernel to applications. Every aspect of OSWALD is therefore open, from the hardware to the applications. This presentation gives a quick overview of OSWALD’s architecture and the challenges faced in bringing it to reality.

Greg’s next topic is a real hardware problem that is affecting even embedded systems, “Asymmetric Multiprocessing Issues” by Hollis Blanchard. Yes, multicore CPUs have arrived even in the embedded arena. But embedded system designers want to take things one step further, creating asymmetric systems that run multiple instances of Linux with different capabilities (e.g., real-time and not) on a multicore system. However, such systems do not always have the hardware virtualization capabilities, so these Linux instances must cooperate, leaving hardware resources for each other and sharing hardware as needed. Hollis describes how to use existing solutions to make these systems a reality.

Greg’s final topic is a proposed solution for a real problem, “Flattened Device Tree for All Architectures”, by Grant Likely. This proposal provides the benefits of OpenFirmware’s device tree to PowerPC systems that do not provide OpenFirmware. This approach has also been used for some systems in other architectures, including Microblaze, ARM, and MIPS. Grant will propose this flattened device tree for other architectures in order to consolidate code and ease porting Linux to new architectures.


General Track will include miscellaneous talks that do not fall into one of the other tracks.

Inter-Distribution Cooperation

(Dropped, to be deleted)

Kernel/Userspace/User Interfaces

One of the biggest secrets of FOSS’s success is a well-crafted set of interfaces amongst the various components. Although famously not set in stone, these interfaces permit different FOSS projects to work for the most part separately, while still coming together as a coherent system. Such interfaces are clearly a key topic for the Linux Plumbers Conference.

Therefore, we are happy to announce that Jim Gettys, one of the original developers of the X Window System, past VP of Software at OLPC, now at Alcatel-Lucent Bell Labs, has selected a great lineup from a set of excellent submissions to the “Kernel/Userspace/User Interfaces” microconference.

Jim’s first selection is “USB 3.0 for Linux” by Sarah Sharp. Thanks to Sarah, Linux is the first kernel to offer USB 3.0 support, adding yet another counter-example to the myth that Linux is late in supporting new devices. USB 3.0 promises high speed (5Gbps) and flexible power management (go green!), but being new, is still in development. This portion of the microconference will give an overview of USB 3.0 and provide a forum for discussing the inevitable USB 3.0 development issues.

Green computing is also key to Jim’s second selection, “Power management: Communicating needs and desires” by Matthew Garrett. This portion of the microconference looks to raise the current power-management discussion beyond static policies to a more dynamic level that automatically takes the needs of userspace applications into account. Given that existing interfaces are not believed to be sufficient to support this sort of dynamic power management, we can expect a lively discussion.

Jim’s final selection is “Checkpoint/Restart in Linux mainline” by Sukadev Bhattiprolu. Checkpoint/restart is the ability to save the state of a running application, then resume it later on a similar system. There are at least two out-of-tree checkpoint/restart implementations (Zap and OpenVZ), but the potential complexities of a full solution have deterred mainlining. Such complexities include network connections, graphical user interfaces, timed events, response-time constraints, and much more besides. So, if history is any guide, this discussion should generate significant excitement, and hopefully also creative solutions, restrictions, or reframings of the problems.


Networking is the key plumbing component that connects users and services to the world. Even in the embedded world, connectivity is critically important. Therefore a new microconf has been added to Linux Plumbers Conference to cover hot topics in Networking.

Most people familiar with the Linux will recognize Stephen Hemminger as one of the key current developers of Linux networking. He has made many important contributions to many components of Linux’s networking stack for several years. We are fortunate that he has graciously agreed to run the Networking micro-conference.

The opening part of the session deals with the interfaces to some of the core components of the networking stack. Obviously, if everything was working perfectly, there would be no need for a conference; therefore the two API’s under discussion are both important but incomplete.

The first topic is the wireless networking API. Linux is now undergoing a renaissance in wireless development. After going through the dark ages with many hardware devices not supported, and competing 802.11 protocol stacks; developers and companies are now focusing on delivering a complete and compatible solution. The first speaker John Linville is the current wireless networking maintainer and his talk “Modern Configuration API for Wireless Networking” covers the maturing cfg80211 API that is replacing the classical, outdated and scorned wireless extensions interface. Fully adopting cfg80211 will require coordinated changes to both the kernel and user utilities, which we hope that Plumbers can help with.

The second API-related talk covers network namespaces, a developing technology which provides controlled views of the networking environment to containerized processes. Projects like OpenVZ have use network namespaces for some time, but getting this technology into the mainline kernel has been a multi-year process which is still ongoing. Like other virtual environments, network namespaces bring their own communications challenges. The talk, “Why Network Namespace Sucks and How to Make it Suck Faster”, by Pavel Emelyanov will deal with some of these issues. It turns out that the Linux kernel has no fewer than five network device types that can be used as packet sources, with a sixth residing in the OpenVZ project. Pavel will compare and contrast these devices with an eye to future directions.

The miniconf will feature two talks on the processing of incoming network packets; proper received-packet processing is critical to networking performance on modern multi-core/multi-thread/multi-interrupt hardware. By looking at this problem from two different points of view, we hope some synergy will happen in this area.

The first performance talk is “Receive Packet Steering: A Software Solution to Scaling the Network Receive Path” by Tom Herbert. Tom notes that networking receive scalability is often limited by the single receive queue provided by older network interface controllers (NICs). This situation motivates some way of introducing parallelism in the receive path in spite of the single receive queue. If additional parallelism could be introduced into the single-queue receive path, there would be a valuable opportunity to increase performance on these older controllers.

The second performance oriented talk is on the new threaded interrupts “Threaded Network Device Interrupts” by Steven Rostedt. Steven argues that the use of threaded interrupts will not only simplify the networking code, but also increase network throughput. Given that some prominent developers in the networking community have been expressed skepticism about the value of threaded interrupts, we can expect some spirited discussion, and perhaps some modifications to threaded interrupts, to networking, or both.

Real Time

This fall will mark the fifth anniversary of the -rt patchset. This patchset provides aggressive levels of real-time response and has seen significant production use. Many -rt components have been accepted into mainline, including timekeeping, futex priority inheritance, preemptable RCU, and much else besides. Nevertheless, the -rt patchset still includes a not-inconsiderable quantity of code, leading to the question of how it might best be fully merged.

We are fortunate to have Nivedita Singhvi, who is IBM’s real-time-Linux architect, and who has also worked on virtualization and networking, as the runner for the “Real Time” microconference. Nivedita has put together an excellent set of topics to help shed some light on the -rt merge question.

Nivedita’s first topic is “The State of preempt-rt” by Thomas Gleixner, who has co-maintained the -rt patchset for much of its existence. Thomas will outline what still remains in the out-of-tree -rt patchset and what changes are required in order to merge it. Perhaps the final merge is close at hand? He will also provide an overview of his current development work, primarily advances in threaded interrupt handlers.

For her second topic, Nivedita selected “Running Without Systems Management Interrupts” by Keith Mannthey. Systems management interrupts (SMIs) are used by x86 systems to handle exceptional conditions, such as correctable memory errors or thermal management. Unfortunately, SMIs can extend for many tens of microseconds or even many milliseconds, and some implementations use SMIs to periodically poll for exceptional conditions, which makes it impossible to meet aggressive real-time scheduling deadlines. Keith will therefore discuss what is required, both in the kernel and in userspace, to eliminate non-fatal SMIs, thus enabling aggressive real-time response.

The third topic is “Real-Time Benchmarking – an Open, Cross-Language Micro-Benchmark Suite” by Vernon Mauery. Linux’s real-time response has improved impressively over the past decade, but retaining this response will require test suites that developers can easily run. Furthermore, it will be necessary to compare different platforms and different operating systems on an equal footing. Vernon proposes a benchmark suite to help achieve this goal.

The fourth and final topic is “Networking and Real Time” by Nivedita Singhvi. The days when real-time systems were isolated computers controlling a process seem to be coming to a close: today’s real-time systems must communicate with each other as well as with non-real-time systems. In some cases, large volumes of data must be sent over multiple connections, which means that attention must be paid to both the throughput and the latency of Linux’s networking stack. Nivedita will discuss the key latency and throughput bottlenecks and discuss possible solutions.


A few of us remember not needing to lock the door as kids, as well as the anonymous/guest logins on the ARPANET and early Internet. Needless to say, those days are gone forever. Security is now critically important, even for the most obscure computer systems.

The Linux Plumbers Conference is fortunate to have James Morris and Paul Moore as runners for the Security microconference. James and Paul are quite prominent in the Linux security community, James in his role as Linux kernel security subsystem maintainer, and Paul in a number of roles, including leader of the NetLabel network-security subsystem. The Security microconference is a double-length microconference this year, as is fitting given the importance of security in today’s world of spammers, botnet controllers, and many other black-hat threats. In the interest of brevity, only four of the seven selections are highlighted below, but please rest assured that the remainder are every bit as interesting and important.

The first two topics recognize the importance of usability, something that has all too often been neglected in the security field. After all, even the best security mechanisms are of no use if users prefer to disable them. To demonstrate how much progress SELinux has made in recent years, Caleb Case will be showing a demo of SELinux on Ubuntu while Dan Walsh showcases a bit of SELinux in Fedora that anyone can use, namely application sandboxes. These demos are important steps towards the goal of effective security measures designed for the typical Linux user. We hope that numerous Linux users will attend these demos so as to promote a vigorous and illuminating discussion.

The next topic takes a look at the Simplified Mandatory Access Control Kernel (Smack) through the eyes of it’s author, Casey Schaufler. Casey presents a case study in Smack configuration by showing how Smack can be used to provide additional security for a well-known commercial database server. This should help both developers and users understand how to apply these new advanced security mechanisms to their own systems and applications, and will hopefully also start a productive collaboration between developers at all levels of the FOSS stack.

The fourth and final topic, at least for the moment, is the Linux Kernel Crypto API, presented by Herbert Xu. Given that Moore’s Law is still providing transistors, but is no longer increasing clock frequencies, we can expect more hardware offload engines, including hardware encryption. The Linux Kernel Crypto API is critically important for timely support of such hardware. In addition, Herbert will describe user-space APIs and how this API might be generalized beyond cryptographic algorithms. Given the need to change cryptographic algorithms as they weaken, either due to newly discovered attacks or due to the inexorable increase in available computing power, we can expect the Linux Kernel Crypto API to have a key role to play in the security arena — and to require continued refinement as security requirements change over time.


Linux’s storage system contains many aspects, from filesystems through the VFS layer to low-level device handling. Many of these aspects have very active communities and therefore are the subject of much productive discussion. Nevertheless, some aspects of storage do not always get the attention that they require. Here to help us give these aspects the love and attention that they deserve is Matthew Wilcox, who has been a Linux kernel hacker for more than ten years, most recently with Intel’s Open Source Technology Centre.

The first topic is “Evaluating Linux storage APIs for use in QEMU/KVM” by Anthony Liguori. Anthony’s work with the virtio-pci Linux kernel module (which provides virtual I/O support for guest operating systems running on QEMU/KVM) pointed up some shortcomings of the current userspace storage APIs used for QEMU and KVM. Cleaning up this API would be very helpful, both from the viewpoint of simplicity and from the viewpoint of more-efficient virtualization. We hope that this discussion will help Linux further burnish its “green” credentials, but with full performance and reduced complexity.

The second topic is “Linux Data De-Duplication” by Mingming Cao. At first glance, the large and growing capacities of disk drives would make any de-duplication a waste of CPU time. However, solid-state disks are not quite so large, and de-duplication can reduce the amount of memory required for buffer cache, especially when running multiple similar operating systems on the same system. Mingming will describe different approaches to de-duplication, including some that have been discussed within the btrfs community. Please bring your ideas and experiences!

The third and final topic is “Locking issues on Clustering File Systems” by Coly Li. In contrast to the first two topics, which involve pushing more workloads onto a single system, Coly is working on clustering many systems together to work on a single problem. Clusters require special coordination, which is often provided by a distributed lock manager (DLM, as in the fs/dlm facility in Linux) and a cluster filesystem (such as OCFS2). These coordination facilities bring their own costs, including lock-mastering expense, lock communication cost, DLM compatibility between fs/dlm and OCFS2, deadlock detection, and so on.

X Window System

The X Window System has seen great change over the past year with low-level device handling moving from userspace to the kernel. Now that this important but low-level infrastructure is in place, it is time to look at a higher level of the Linux graphics stack.

And who better to bring us to a higher level than Keith Packard, project lead for the Xserver and for the official reference implementation of the X Window System? Keith has put together a can’t-miss lineup that covers three important topics, each with a pair of potential solutions and a moderated Q&A session.

The first topic is the “Video API Deathmatch: VDPAU vs. VAAPI”, where “VDPAU” is NVIDIA’s Video Decode and Presentation API for Unix, and “VAAPI” is the Video Acceleration API led by Intel, and (not surprisingly) supported by recent Intel integrated graphics hardware, but also supported by recent S3 Graphics hardware. Stephen Warren will be putting on the gloves for VDPAU and Jonathan Bian will be defending VAAPI’s honor. Keith will then moderate the Q&A session, with questions taken from any surviving members of the audience.

The second topic is a more placid discussion of compositing architecture, featuring “Wayland – A New Display Server for Linux” by Kristian Høgsberg and “Compositing, OpenGL, Double-Buffering, and Dragons” by Jesse Barnes. The reason we expect this discussion to be more placid is that Kristian asserts that Jesse’s work will always be relevant. On the other hand, Kristian also compares Jesse’s work to FORTRAN, so you be the judge. Kristian will show us how moving functionality (including fonts, OpenGL, Cairo 2D rendering, GEM, and kernel mode setting) into the kernel and libraries paves the way for small special-purpose display servers such as Wayland. Wayland promises to enable Linux GUIs to run efficiently on yet-smaller embedded devices. Jesse will show us how OpenGL and other pre-existing APIs are affected by a compositing environment. This discussion is critically important: although compositing promises to provide much-needed flexibility to system designers, we need compositing to work efficiently for all applications, while at the same time solving persistent problems with buffer tearing and memory usage.

The third and final topic is 2D acceleration on modern GPUs, with “The Battle for 2D Acceleration” by Chris Wilson and “2D X State Tracker for Gallium” by Jakob Bornecrantz. Chris will show us a direct-to-DRM implementation in Cairo, after which Jakob will present recent work in Gallium. Given that our current 2D architectures (EXA/XAA/UXA) all fail to provide credible acceleration for sophisticated 2D applications, a new direction is clearly needed. Perhaps Chris’s or Jakob’s work will show the way to a fully accelerated tesselator for these applications.

Our new Linux graphics architecture provides the infrastructure required for fantastic new systems, so please join us to work out video APIs, compositing, and 2D acceleration at this year’s Linux Plumbers Conference!

Back to proposals