Kernel data structures The Linux Kernel is a known source of best practices It is self-contained, as it can't rely on libc It's a complex project that would collapse from oversmartness It has a lot of data to handle, and problems repeat overall Rob Pike's rules of programming (shortened): Rule 3. Fancy algorithms are slow when n is small, and n is usually small. Rule 4. Use simple algorithms as well as simple data structures. Rule 5. Data structures, not algorithms, are central to programming. Obviously, the kernel uses linked lists in several places Obviously, the kernel hosts a number of sorted data