During the Linux 3.12 development cycle the ACPI-based PCI hot-plug (ACPIPHP) subsystem was redesigned to support Intel Thunderbolt hot-plug. Among other things, that technology allows entire branches of PCIe hierarchy to be added to or removed from the system at run time in a "surprise" fashion, which means that PCIe devices can appear and go away from the system at any time when it is used. I will explain how the technology works at the high level, what changes needed to be made to the kernel to support it and how it affects PCIe device drivers. I will also describe some concurrency problems in the PCI core that became apparent after the Thunderbolt support had been added and I will show how those problems are being addressed.
The primary audience are PCI device driver writers and kernel developers interested in hot-plug technologies in general. However, the presentation should be comprehensible to anyone generally interested in the Linux kernel development. Attendees can expect an overview of the underlying technology, an update on the recent kernel changes related to the Thunderbolt support and PCI/PCIe hot-plug overall, an outline of development plans in the ACPIPHP subsystem area and more.
This presentation will help kernel developers and users better understand the way in which the Linux kernel interacts with the platform firmware via ACPI in order to support advanced hot-plug of PCIe devices and what is supported. It also should help PCIe device driver developers to see potential problems related to the "surprise" hot-removal of devices and to prepare themselves for addressing them. In the end, it should help to improve support for device hot-plug technologies in the Linux kernel.
Software Engineer, Intel OTC
I am the maintainer of the Linux kernel's core ACPI and power management code, including the core infrastructure for runtime PM, system suspend and hibernation, cpuidle and cpufreq. I work at Intel Open Source Technology Center as a Software Engineer with focus on the Linux kernel. I have been actively contributing to Linux since 2005, in particular to the kernel's suspend and hibernate subsystem, power management in general (runtime PM, PM... Read More →
Thursday March 27, 2014 2:00pm - 2:50pm
Attendance numbers do not account for private attendees. Get there early!