Optimising ID Allocation for low-memory devices

C3 | Wed 23 Jan | 4:45 p.m.–5:30 p.m.

Presented by

  • Matthew Wilcox

    Matthew is a Linux kernel hacker


The Linux kernel needs to allocate small identifying numbers for many things (e.g. file descriptors, process IDs, SCSI devices, USB ports, network devices). The implementation of this crucial functionality was surprisingly memory-hungry and so it needed to be rewritten. This case study shows - How implementing functionality in the Linux kernel (or any project of sufficient complexity) requires being aware of implementation details of other parts of the project. - The perils of half-complete migrations. - How easy it is to overlook hundreds of kilobytes of memory leaking when you have gigabytes of memory in your system. - The importance of API design.