3 ms·
Unfortunately, I cannot imagine modern Linux kernel getting slimmer. We keep adding new functionality, so the kernel keeps growing. Maintaining multiple implem
by theamk 6y ago
Unfortunately, I cannot imagine modern Linux kernel getting slimmer.
We keep adding new functionality, so the kernel keeps growing. Maintaining multiple implementations takes effort, so the more generic one (and therefore bigger) wins.
And the worst part, all of those are useful things, for someone. Hotplug, firewall, multiple routing tables, kprobes, bpf, audit, NUMA etc -- those are useful things that deserved to be written and maintained.
- userbinator 6y agoThey could make the drivers more modular, however --- those are probably the best examples of pieces that someone definitely needs, but certainly not everyone who uses the kernel; and they also make up the bulk of the source tree.
- theamk 6y agoI don't think there is any downside in having a bulky source tree -- it is the binary size which matters. And linux is pretty good at configurability -- any driver, and even many "core" kernel features, can be disabled and then they is no longer even compiled. Interestingly enough, this was common even in 1987 -- the original post also talks about configuring kernel to reduce binary size: > Sun kernel code was about 390 kbytes, even properly configured (as distributed it was 490k). I suppose someone could take kernel source tree and strip out unselected drivers, but I cannot imagine a good reason to do so.
- userbinator 6y agoI suppose someone could take kernel source tree and strip out unselected drivers, but I cannot imagine a good reason to do so. The size of the download is enough reason to.
- Ericson2314 6y agoHave you heard the slogan "composition over configuration"? That Linux can disable lots of functionality with configuration options isn't good enough. Basically if Linux is GCC, we need an LLVM go come along.
- xyzzy_plugh 6y agoIsn't this what devicetree is for?