In fact, Barrelfish is based on running a microkernel per core, and makes good use of this design to better adapt to hardware diversity.
I understand why Linux develops everything in one place. This makes it far easier to manage. However, it is far more difficult to configure and specialize kernels. (Saw a paper where core operations of default Linux had gotten slower over the years, requiring reconfiguration.) Or to badly paraphrase Ingo Molnar: aim for one of two ideals in operating system design: the one that's easiest for developers to change/maintain and the one that maximizes performance.
Anyone remember the debate between microkernel vs monolithic kernel?
https://en.m.wikipedia.org/wiki/Tanenbaum%E2%80%93Torvalds_d...