10 things I like about linux.
I don't want people to get the impression that I am adversarial towards linux. In fact, I have been working with Linux kernel developers to help resolve this mysql issue. However, I've received a lot of hate mail about this blog. In response, I'm going to list 10 things here that I'm pleased with in the linux kernel.
1) The page array in the sk_buff for fragments is cheaper than the extra cache misses of linked lists of headers for external data in bsd's mbufs.
2) The page structure is way small.
3) The radix tree in the address_space is a much more efficient algorithm than our splay tree for large objects.
4) RCU.
5) Memory zones and cheap contiguous physical address space allocations.
6) The ability to do io directly to physical pages.
7) I like the relatively simple NUMA support, best bang for the buck on modern minorly NUMA architectures.
8) The interface for dealing with per-cpu data.
9) The interface for setting cpu affinity for interrupts is very slick.
10) Moving most config ifdefs out of the code and into headers makes code much cleaner.
Please, comment with your favorite bits of the kernel.