Wednesday, December 13, 2006

Binary kernel modules are dead in 2008--now what

It was decided today on LKML that starting in January 2008, binary modules are no longer going to be loadable in the Linux kernel. This has some rather major consequences for a number of virtualization technologies.

Parallels, Win4Lin, kqemu, and VMware rely on binary modules for their Linux products. I suspect all of these products will have a hard time moving their code out of kernel space seeing that it's performance sensitive. So what are they all going to do? I see three possible options: 1) drop Linux support (Win4lin and kqemu disappear completely) 2) build a minimal kernel interface to privilege state and try to develop fast userspace interfaces. I can't see how one could do a fast userspace shadow paging implementation though. 3) open source the kernel bits.

Everyone's focused on management now right? Can you imagine if the VMware binary translator was GPL'd? Kudos to the kernel developers for finally doing the right thing here.

Update: Linus is insisting that the distros merge this patch first before he'll take it.