to be fair, i think it depends what that graph is measuring. if it is mainly more device drivers and protocols, that increases the scale of linux, but not necessarily the complexity. whether some of those protocols and driver functions really need to be in the kernel might of course be relevant. the complexity also isn't a function of size, but of construction (as a small example i think of all those #ifdefs in the Linux kernel code i've seen, particularly the powerpc and arm support). on the other hand, i think rob observed once years ago at a conference that at the time the entire source code of the Plan 9 kernel was smaller than just the include files of some Unix systems, and i don't think that has changed significantly.