Perth, Western Australia - 6th to 10th January 2014

<-- Back to schedule

Per-cpu techniques and facilities in the Linux kernel

Project: Linux kernel

With multi-processing being prevalent even in small devices and NUMA being extremely common in servers, modifying the same memory area from multiple CPUs can quickly destroy scalability in modern machines. Per-cpu data structures is a very effective and well-established way of reducing cross-CPU traffic and the Linux kernel has been evolving extensive support for it over the past years with the per-cpu memory allocator at the foundation and several per-cpu utilities built on top of it. This presentation examines the evolution of per-cpu facilities in the kernel and shows the various per-cpu techniques developed over time.

Tejun Heo

Kent is the author of bcache (flash cache in Linux kernel) and has been working on various scalability issues on the Linux IO stack. Kent used to work for Google to improve its infrastructure and is now with Rising Tide Systems working on Linux-based next-gen enterprise storage.

Tejun has been working on various aspects of Linux kernel since 2005 and is currently maintaining percpu memory allocator, control groups, and workqueue. Tejun currently works as a software engineer for Red Hat.