http://summit.ubuntu.com/lpc-2012/ Nautilus 1

Wednesday, 09:50 - 10:35 PDT
Not Attending Plumbing UEFI into Linux ( Refereed Presentations )
The adoption of UEFI is probably the biggest changes in the x86 world since the migration to 64-bit. While fundamentally a pile of code responsible for starting an operating system, UEFI provides features that reach all the way up to the running desktop. This gives us opportunities for tight integration between the OS and the firmware, providing a more cohesive experience for the user from the moment they turn their computer on. This presentation will provide a brief introduction to UEFI, followed by a discussion of the functionality it provides to the OS and the different parts of the Linux stack that can benefit from UEFI integration - for example, the combination of bootloader, kernel and graphics driver work that will allow us to move seamlessly from the firmware boot splash to a user login. Topic Lead: Matthew Garrett Matthew does firmware integration work so you don't have to. He represents Red Hat on the UEFI Forum and is active in Linux UEFI development.

Participants:
attending eblake (Eric Blake)
attending ezannoni-7 (LPC Submitter)
attending srwarren (Stephen Warren)

Tracks:
  • Refereed Presentations
Nautilus 1
Wednesday, 10:45 - 11:30 PDT
Not Attending CPU idle: introducing cluster management ( Refereed Presentations )
The current CPU idle implementation in the Linux kernel is skewed towards per-CPU idle power management. Power consumption of components in the SOC that are part of a cluster of CPUs but do not belong to the CPU power domain is significant and should be managed in the CPU idle driver accordingly. Current ARM platforms manage cluster power states using ad-hoc code in the idle driver which results in code duplication that is not necessary and can be consolidated. Furthermore, CPU idle governors are not cluster-aware so that every low-power state decision is made on a per-CPU basis which turns out to be sub-optimal to achieve deep-sleep cluster states where all CPUs are required to be powered off to shut down additional cluster shared components like interrupt controllers and L2 shared caches. Considerable effort is taking place in the kernel community to improve this situation; in particular [coupled C-states](https://lkml.org/lkml/2012/3/14/363) [1] provide a method to synchronize CPUs before entering cluster states and increase the cluster shutdown opportunities for a running SOC. This is a big step towards having a complete cluster aware CPU idle implementation but this does not yet provide a holistic solution. This talk will highlight the CPU idle requirements and intricacies of current and future ARM systems, inclusive of big.LITTLE multi-cluster SOCs and is aimed at Linux kernel Power Management developers. It is meant to kick-start the discussions on some topics (per-CPU idle states, CPU idle governors cluster awareness, cluster next event, coupled C-states usage) that should result in a hacking session implementing features required by a cluster aware CPU idle implementation. [1] - https://lkml.org/lkml/2012/3/14/363 Lorenzo Pieralisi, ARM Ltd., Cambridge Lorenzo Pieralisi has worked at ARM Ltd since March 2010 as a Linux kernel developer. He obtained a Laurea degree (summa cum laude) in Microelectronics from the University of Ancona in March 2002. He carried out a PhD in Microelectronics at INP Grenoble where he defended his thesis in 2005 on on-chip interconnections for Advanced Computing. Prior to joining ARM, he worked at the AST (Advanced System Technology) Lab of STMicroelectronics in Grenoble France, where he spent 7 years programming kernel device drivers for ARM processors for a variety of purposes like power management, advanced computing and interconnect device drivers. He presented talks at DATE Europe in 2003, ICCD 2005, SoC conference in 2008, ELC Europe 2011 and other workshops around Europe. He is a keen and enthusiastic embedded systems programmer since the early days of microcontrollers and got involved with Linux kernel programming in 2006 for both personal interest and work. He is an active open source contributor. Amit Kucheria, working for Linaro as Canonical assignee Amit is a long-time Linux user and has worked on network QoS, wireless routing, power management in Linux at university, a California startup and finally Nokia where he led the power management team for a while. Lately, he's been working with the Linaro members to make Linux power management infrastructure more suitable for ARM SoCs. As Tech Lead of the Power Mangement Working Group, he gets to work with a diverse team in trying to standardize interfaces and tools for ARM power management. Daniel Lezcano, working Linaro as IBM LTC assignee Daniel worked in 1998 in the Space Industry and Air traffic management for distributed system project in life safety constraints. He acquired for this project a system programing expertise. He joined IBM in 2004 and since this date he does kernel hacking and pushed upstream the resource virtualization with the namespaces. In 2011, he joined the Linaro's Power Management Team and works on the kernel area, consolidating the cpuidle drivers across the different ARM SoC.

Participants:
attending apm (Antti P Miettinen)
attending lorenzo-pieralisi (Lorenzo Pieralisi)
attending paulmck (Paul McKenney)
attending srwarren (Stephen Warren)

Tracks:
  • Refereed Presentations
Nautilus 1
Wednesday, 11:40 - 12:25 PDT
Not Attending Adding lock elision to Linux ( Refereed Presentations )
This talks introduces lock elision with hardware support, and describes a practical implementation in the Linux kernel and in glibc. Lock elision is a technique to improve the parallelism of existing locks without changing the semantics. Using this allows to improve the scalability of both kernel and multi threaded user software. It describes the necessary changes to the kernel and to glibc, plus also some programming techniques to make best of use of elision. The audience is people interested in multithreaded programing and kernel programers. Andi Kleen is a long term contributor to the Linux kernel. His past kernel work including working on the x86-64 port, the linux network stack, and other areas. He currently focusses on Linux scalability. He works at the Intel Open Source Technology Center.

Participants:
attending eblake (Eric Blake)
attending paulmck (Paul McKenney)

Tracks:
  • Refereed Presentations
Nautilus 1
Wednesday, 14:00 - 14:45 PDT
Not Attending Linux display and video: one problem, three solutions, many puzzled developers ( Refereed Presentations )
The Linux kernel offers three APIs to display video and graphics. While DRM/KMS, FB and V4L2 started as solutions to distinct problems, they now largely overlap, resulting in confusion and code duplication. Several efforts have been or are being led to consolidate our display and video APIs and reduce code duplication. Despite them too many application developers are still lost when they need to select an API for display and video. This track will briefly present the ongoing work on DRM/KMS, FB and V4L2 that aim at reducing code duplication and bridging the gaps between these APIs. It will then outline the use cases that each API targets and how they can collaborate, to finally try and define rules that governs what API to choose when writing new drivers and applications. The track's target audience is kernel and userspace developers who want to better understand the Linux kernel graphics and video APIs and their interactions, and share their opinions on directions for future developments. Speaker Bio ----------- Laurent Pinchart has been a Linux enthusiast since 1997 and Linux kernel developer since 2001. He has written media-related Linux drivers for consumer and embedded devices, and is one of the Video4Linux core developers. Laurent is the founder and owner of Ideas on board, a company specialized in embedded Linux design and development. He gave Linux media-related talks at the FOSDEM, LPC and ELC. He currently works with the Renesas Linux kernel teams where he develops embedded video-related kernel subsystems.

Participants:
attending srwarren (Stephen Warren)

Tracks:
  • Refereed Presentations
Nautilus 1
Wednesday, 14:50 - 15:35 PDT
Not Attending Improved handling of large sparse files, such as virtual disk images ( Refereed Presentations )
Virtual disk images have proven to be an interesting example of large sparse files. They often contain several gigabytes of data, interspersed with potentially large holes, and are often accessed over networks such as via NFS or iSCSI. In managing these files on the host, applications such as libvirt have run into scenarios where performance can be improved. For instance, it should be possible to quickly identify and alter sections of a file that are sparse, to perform a one-time copy of a disk image without polluting the host's file system cache, to expose any ability of underlying storage devices to do copy-on-write cloning, and to conditionally probe file characteristics without hanging if the file is no longer accessible due to a network outage. Sparse file handling has improved with recent lseek(SEEK_HOLE) additions, as well as new ioctls to punch holes into existing files, although this support is still not available to all file systems. Right now, the only way to avoid polluting the host's file system cache is to use O_DIRECT, but this makes life much more difficult for the application to conform to particular I/O patterns. The posix_fadvise() interface appears to provide the framework for asking the kernel to perform uncached operations without making the application worry about strict alignment, but for this to be useful, the kernel would need to provide additional guarantees (perhaps in sysfs) about what guarantees are possible through posix_fadvise. BTFRS and other file systems are starting to provide copy-on-write file cloning at a file system level, and there are also storage devices that still have varying controls to achieve the same effects at a device level; coming up with a unified interface to request this feature would be handy. Finally, the proposed xstat() kernel interface to conditionally control how much data is retrieved when querying file metadata would make it easier to work with large files that live across potentially unreliable network connections. Discussion will focus on interaction between kernel, file systems, and user space applications, to determine how to improve existing interfaces (such as posix_fadvise) or add new interfaces (such as xstat) that can be used to improve performance of large files. While my background for this proposal stems from handling of virtual disk images, there are probably several other file types that will benefit from improvements in this area. Eric Blake (Red Hat) is currently a primary contributor to the libvirt project, which presents a unified management interface into multiple virtualization technologies, such as KVM, LXC, and Xen. He is also active in the Austin Group for developing POSIX interfaces, as well as a contributor to the gnulib project for providing ports of POSIX and other interfaces to a large variety of platforms.

Participants:
attending eblake (Eric Blake)

Tracks:
  • Refereed Presentations
Nautilus 1
Wednesday, 15:45 - 16:30 PDT
Not Attending All Plumbing needs an API ( Refereed Presentations )
Andy Grover (<email address hidden>) The usefulness of our existing plumbing is maximized by making sure it can be accessed programatically. Shelling out to their cmdline utilities is not good enough. Much plumbing has APIs, but many (e.g. iptables, open-iscsi, e2fsprogs, lvm, btrfs?) only have command-line utilities that limits their use as building blocks. We should establish that plumbing needs proper interfaces (.so, dbus, whatever) for other code to call it reliably, and that cmdline interfaces should really just be for humans. My hope is this session can discuss the issue, and possibly come to a greater consensus on the need for APIs in plumbing, and start making plans for how we can work towards more complete API coverage. BIO: Andy Grover is a kernel/plumbing guy who has worked on ACPI, networking, dmaengine, InfiniBand, and SCSI kernel target subsystems. His most recent work has also involved user-level code in Python and C. He lives in Portland, Oregon and works for Red Hat.

Participants:
attending eblake (Eric Blake)
attending ezannoni-7 (LPC Submitter)

Tracks:
  • Refereed Presentations
Nautilus 1
Thursday, 08:30 - 09:25 PDT
Not Attending Breakfast
Nautilus 1
Thursday, 09:30 - 10:15 PDT
Not Attending USB port power off Kernel/Userspace API ( Refereed Presentations )
The Intel Lynx Point chipset includes a new power savings mechanism that allows software to turn off the USB port power (VBUS) via an ACPI call. This mechanism is designed to save power on unused internal USB ports, but it could be used to save power on external ports or even simulate a physical disconnect for misbehaving USB devices. This presentation will provide background on the mechanism, before opening the floor to discussion on what sort of API the kernel should provide userspace to power down ports, and how userspace could use this API to save power, while not confusing the user with "dead" USB ports. Target audience: kernel developers working with USB device drivers, userspace developers for applications that touch USB devices (e.g. libusb, ModemManager, ConnMan), and desktop developers for Gnome, KDE, XFCE, etc. Sarah Sharp (<email address hidden>) is the xHCI driver maintainer. She has been adding USB 3.0 support to the Linux kernel for the past five years. Sarah works in Intel's Open Source Technology Center, along with Tianyu Lan. Tianyu (<email address hidden>) is a Linux kernel ACPI developer, and is the author of the patchset for the port power off mechanism.

Participants:
attending ezannoni-7 (LPC Submitter)

Tracks:
  • Refereed Presentations
Nautilus 1
Thursday, 10:25 - 11:10 PDT
Not Attending Policies for transcending Linux memory efficiency with zcache ( Refereed Presentations )
Zcache is the first Linux memory management capability that uses compression to dramatically increase RAM efficiency for both the page cache and for swap pages. The mechanism has been in staging since 2.6.39, but has been complemented only by a very primitive policy. The key to promoting zcache to a full kernel citizen and, indeed, for turning zache into an enterprise-ready default feature is a bulletproof "first do no harm" policy that must improve performance on many workloads while avoiding performance degradation on others. We will present how zcache works, discuss core kernel memory management policies and how they might be extended to "harden" zcache, and solicit discussion on further improvements for zcache, as well as its Transcendent Memory brethren: RAMster, which builds on zcache and kernel sockets to load-balance RAM across a cluster, and Xen tmem and KVM tmem, which provide similar capability in a virtualized environment. Linux plumbing connections: Page cache pages in zcache are mapped pages obtained via hooks in the VFS/filesystems (c.f. cleancache); swap pages are obtained via hooks in the swap subsystem (c.f. frontswap). Increasing RAM efficiency ultimately reduces the total RAM needed in a system, thus reducing capital and power costs across the data center.

Tracks:
  • Refereed Presentations
Nautilus 1
Thursday, 11:20 - 12:05 PDT
Not Attending Letting go (A sensitive guide dealing with application caches under the pressures of low memory) ( Refereed Presentations )
Abstract: This talk will cover some of the recent work to allow applications to release memory to the kernel when the system is experiencing low memory conditions. The talk will focus on two basic approaches: applications pre-marking cache memory as freeable when not in use, allowing the kernel to reclaim it as needed, and APIs for kernel notification of lowmemory conditions that allow applications to then free up memory on their own. We'll talk about the upstream status of these different approaches, the pros and cons of the different methods, and talk about types of applications that could make use of these methods and how it affects both enterprise and embedded environments. Bio: John Stultz has worked with the IBM LTC for just over ten years. He has worked on x86 server enablement, Enterprise Realtime Linux, and now as a member of the Linaro.org effort. In the Linux community, he has worked mostly as a maintainer of the timekeeping subsystem, but has also worked on stability and scalability issues with the PREEMPT_RT patch, and most recently has been focused on upstreaming Android functionality into the mainline kernel.

Participants:
attending paulmck (Paul McKenney)

Tracks:
  • Refereed Presentations
Nautilus 1
Thursday, 13:30 - 14:15 PDT
Not Attending ACPI 5.0 in Linux ( Refereed Presentations )
Len Brown <email address hidden> ACPI (Advanced Configuration and Power Interface) abstracts platform hardware and firmware, helping to make operating systems portable. For over 15 years, this abstraction layer has allowed operating systems and hardware platforms to evolve independently. The 5th major revision of the ACPI spec was published December, 2011. This presentation will summarize the changes included in 5.0, and the state of Linux support for those changes. Bio: Len is a Principal Engineer at Intel’s Open Source Technology Center. He focuses on power management, and has maintained the Linux Kernel ACPI sub-system since 2003.

Participants:
attending ezannoni-7 (LPC Submitter)
attending lorenzo-pieralisi (Lorenzo Pieralisi)
attending srwarren (Stephen Warren)

Tracks:
  • Refereed Presentations
Nautilus 1
Thursday, 14:25 - 15:10 PDT
Not Attending Moving Android and regular Linux closer together ( Refereed Presentations )
Abstract: Many people consider Linux and Android different operating systems - even though they're more alike than not. The communities are so split up that many Linux developers don't know anything about Android (other than the fact that it uses the Linux kernel) and many Android developers don't know anything about Linux (probably not even that Android is based on it). This is definitely a bad thing - because both sides have some good tools and features the other side could benefit from, if they just knew about them. Goal of the session is to bring the projects closer together, and try to start merging components where both sides can benefit. Should attend: People from "both sides" who aren't scared of learning about and working with the other side. Bio: Bernhard "Bero" Rosenkränzer is a developer of both "normal" Linux and Android, currently involved in the making of Linaro Android, Ark Linux and ROSA Linux.

Tracks:
  • Refereed Presentations
Nautilus 1
Thursday, 15:20 - 16:05 PDT
Not Attending Big and Little Endian inside/out ( Refereed Presentations )
Endian bugs are a common source of problems, mostly on big endian architectures such as PowerPC, sparc or s390. Getting endian'ness right isn't always trivial and some programming tricks will work on one endianness and not another. I will first show endian issues related to programs trying to access in memory data using the wrong size types. Then I will talk about the the problem of data "on the wire" (networking, storage, file formats) along with tools such as sparse that can help getting it right, and will then dive into IO busses and peripheral such as PCI and graphics. I will attempt to shed some light on the latter by describing what happens under the hood, the representation of data on typical processor bus and how it interconnects to a typical IO bus, where does swapping happens and when it needs to be handled in software. BIO: Ben has been part of the powerpc Linux kernel team for many years and is currently the maintainer of arch/powerpc. He works for IBM ADL/Ozlabs.

Participants:
attending paulmck (Paul McKenney)

Tracks:
  • Refereed Presentations
Nautilus 1
Thursday, 16:30 - 17:15 PDT
Not Attending The Tunnel Monster ( Refereed Presentations )
With the growth of virtual networking has come a new set of problems all caused by tunneling. Tunnels used to be limited to VPN's, getting around pesky firewalls (see RFC3093). Now everbody's doing them and inventing new standards with more confusing names like NVGRE, VXVLAN and STT. This talk will explore what these are, what problems they cause and how well Linux does (or does not) support htem. BIO: Stephen has been involved with Linux drivers, networking, routing and bridging. In addition to working for Vyatta, in developing their open source routing platform he has contributed the "netem" network emulator, several network drivers and is the maintainer several utilities.

Tracks:
  • Refereed Presentations
Nautilus 1
Thursday, 17:25 - 18:10 PDT
Not Attending Reducing Network Latency in Linux ( Refereed Presentations )
This presentation will cover some development-in-progress of a new in-kernel interface to allow applications to achieve lower network latency and jitter. These proposed patches create a new driver interface to allow an application to drive a poll all the way down to the device driver. A major benefit of this design is that applications do not have to change in order to speed up, and the Linux networking stack is not bypassed in any way. The design, implementation and results from an early prototype will be shown, and current efforts to refine, refactor, and upstream the design will be discussed. Affected areas include the core networking stack, and network drivers. Owners: Jesse Brandeburg BIO: Jesse Brandeburg is a senior Linux developer in the Intel LAN Access Division, producing the Intel Ethernet product lines. Jesse has been with Intel since 1994, and has worked on the Linux e100, e1000, e1000e, igb, ixgb, ixgbe drivers since 2002. Jesse splits his time between solving customer issues, performance tuning Intel's drivers, and working on bleeding edge development for the Linux networking stack.

Participants:
attending eblake (Eric Blake)
attending paulmck (Paul McKenney)

Tracks:
  • Refereed Presentations
Nautilus 1
Friday, 09:10 - 09:55 PDT
Not Attending Lubricating Kernel Plumbing with Social Engineering ( Refereed Presentations )
Abstract: One of the essential features of plumbing is that disparate groups of people have to work together to produce all of the pieces required to be fitted together into the whole. Unfortunately, different groups tend to have different working methods, different procedures and even different ways of communicating. The result is that working together on several interlocking features can be much harder than you think. This talk will give an overview of some of the essential social aspects of working well with the kernel community: namely what a good change log is, how to write one and how to convince a subsystem maintainer to trust you (and by extension, your patches). We'll give a simple framework for interacting with the kernel community in ways that can increase your patch uptake with actual proof points from experience at Parallels and some amusing anecdotes and examples of how and how not to go about this. Audience: Almost anyone who needs to extend the kernel and therefore has to write a patch (or even those who just discover bugs during testing and want to submit patches to fix them). Bio: James Bottomley is CTO of Server Virtualisation at Parallels and Linux Kernel maintainer of the SCSI subsystem, PA-RISC Linux and the 53c700 set of drivers. He has made contributions in the areas of x86 architecture and SMP, filesystems, storage and memory management and coherency. He is currently a Director on the Board of the Linux Foundation and Chair of its Technical Advisory Board. He was born and grew up in the United Kingdom. He went to university at Cambridge in 1985 for both his undergraduate and doctoral degrees. He joined AT&T Bell labs in 1995 to work on Distributed Lock Manager technology for clustering. In 1997 he moved to the LifeKeeper High Availability project. In 2000 he helped found SteelEye Technology, Inc as Software Architect and later as Vice President and CTO. He joined Novell in 2008 as a Distinguished Engineer at Novell's SUSE Labs and Parallels in 2011.

Participants:
attending ezannoni-7 (LPC Submitter)

Tracks:
  • Refereed Presentations
Nautilus 1
Friday, 10:05 - 10:50 PDT
Not Attending Status of the ARM architecture ( Refereed Presentations )
The ARM architecture is one of the fastest moving subsystems in the kernel at the moment, with over 400 individual contributors and close to 5000 changesets since Linux-3.0. This gives an update of the hot topics that are keeping everyone busy, and where we're headed in the future. The three most important technical problems we are working on are the conversion to device tree based booting, allowing multiple platforms to coexist in the same kernel, and moving code out of the architecture code into new and existing subsystems that are maintained separately. At the same time as we are doing these changes, many new SoCs based on ARM are being developed and submitted for inclusion into Linux. Aside from the technical work, the presentation will also describe the challenges of dealing with a subsystem of this scale, both in terms of working with a large number of people and organizing the patches for upstream submission. Arnd Bergmann is co-maintaining the arm-soc tree, together with Olof Johansson, which is where most of the ARM patches end up getting merged. He has been working for the IBM Linux Technology center for ten years and is currently on assignment from IBM to the Linaro project. He is also the primary contact for new CPU architectures in the kernel and has contributed to almost every subsystem in the past.

Participants:
attending apm (Antti P Miettinen)
attending srwarren (Stephen Warren)

Tracks:
  • Refereed Presentations
Nautilus 1
Friday, 11:00 - 11:45 PDT
Not Attending Enhancing the Thermal Management Infrastructure in Linux ( Refereed Presentations )
Abstract: With the number of devices running Linux increasing day by day, the need for a robust Thermal management infrastructure has become critical. Linux already has support for minimal Thermal management, which often does not suffice to do a complete Thermal management solution. Recently, a lot of discussions are happening in the mailing lists, and patches are being submitted, to enhance the existing Thermal infrastructure in Linux. The intention of talk is to discuss the Thermal Framework API/ABI changes, registration mechanisms for thermal and cooling drivers, methods to throttle devices, priority based throttling, mechanisms to provide platform specific data to the thermal framework, notification mechanisms (in-kernel and kernel-user space), ways to implement mapping between thermal zones and cooling devices, providing debugfs support for thermal statistics and data collection, etc. The target audience would be the Linux developers/users who face the thermal issue and want to fix it (or willing to help to fix it). Bio: Durga (R. Durgadoss) is a Software Engineer in the Intel Architecture Group at Intel Corporation. He has been working on Thermal and Burst Current Management for Intel Atom based SOC platforms. Durga has been actively involved in Linux Kernel Development since he joined Intel two years ago; he recently upstreamed Thermal and Current management drivers to the Linux kernel. He is currently working on platform agnostic solutions to leverage the Thermal Framework inside the kernel.

Participants:
attending apm (Antti P Miettinen)
attending ezannoni-7 (LPC Submitter)

Tracks:
  • Refereed Presentations
Nautilus 1

PLEASE NOTE The Linux Plumbers Conference 2012 schedule is still in a draft format and is subject to changes at any time.