That's interesting. What are the reasons some kernels choose to share the address space, while others don't (and/or how is it even possible to avoid that?)
Mostly performance.
Sharing the address space avoids switching the address space mappings (page tables, etc) and flushing the TLB every time the kernel runs (e.g. on syscalls).