The big step up in Linux 4.0

I heard lately tons of discussions regarding the kernel numbering, and that it’s about time the kernel gets bumped to 4.0. But I felt that the discussion regarded only the cosmetic aspect of calling the kernel ‘a bigger version’. This happened until I read this article from zdnet. Basically, they want to make Linux always on, truly on, at all times, even during upgrades.

To put it simply, there are two competing solutions that want to achieve this. The first is supported by RedHat (big up!) and it’s called KPatch. It does the patching by calling a big ‘stop everything’, then goes and checks if it can replace the code in memory; this is quite fast, it usually takes under 40 milliseconds. The second version, supported by SuSE (kGraft) goes thread by thread and tries redirect the kernel calls to the new version. This can take minutes, but there is absolutely no downtime whatsoever. The solution, as agreed on during the Linux Plumbers conference in October: add both in the kernel.

I always wondered why the KSplice solution never caught on with Linux. And now I do have the answer I never looked for: In 2011 Oracle bought KSplice, and a bunch of patents as well. That pretty much explains why everyone got away from it, and left Oracle to its own devices.

Will this be useful for the normal user? No. Definitely not, uptime is not as important to the user; more important to users are huge steps up, not the sort of incremental upgrades that this new method of patching supports. Useful for servers? Definitely, yes. Tough and risky? Yes, indeed. But still, it’s an amazing feature and now it sort of justifies the move of the kernel to 4.0.

redhat-logo

I think I told you I like RedHat, right?

 

Comments

The big step up in Linux 4.0 — 1 Comment

  1. I work at an IT company in Romania and i want to go to linux department.The other day, I caught a message that KSplice was available for Fedora. I thought I’d be a wiseguy and I replied “Yeah, great. Call me in 20 years when it’s available for for RHEL”. Well, as several people pointed out, it turns out the joke is on me.

    As you can see, it’s actually available for many Linux-based OSes at various prices. I suppose my confusion stemmed from the fact that I misunderstood what ksplice was.