No More Need To Reboot Fedora w/ Ksplice 262
An anonymous reader writes "Ksplice, the technology that allows Linux kernel updates without a reboot, is now free for users of the Fedora distribution. Using Ksplice is like 'replacing your car's engine while speeding down the highway,' and it can potentially save your Linux systems from a lot of downtime. Since Fedora users often live on the bleeding edge of Linux development, Ksplice makes it even easier to do so, and without reboots!"
Re:Now this is even more applicable (Score:0, Informative)
Well it's an old technique actually. kexec have been there for ages.
Ubuntu has it already (Score:3, Informative)
Old hat (Score:5, Informative)
Lisp systems did this 30+ years ago: reload new compiled functions, and keep going. New calls go to the new function, old function becomes garbage when no more threads are executing it.
Re:It's free? (Score:3, Informative)
Re:interesting (Score:5, Informative)
And frankly, I'd still feel a little more comfortable with a reboot, since I'd worry a bit about state consistency of kernel and client processes.
This in theory can be a problem, but each kernel update has to be prepared individually, so someone (once again, this is the theory) has looked at the kernel modifications and made sure it won't cause problems. This isn't an automatic thing that can work with any kernel (don't try to use it to go from a 2.4 kernel to a 2.6 kernel), and if there are major changes, say a new scheduler or something, then someone needs to write code that will move the data from the old scheduler to the new scheduler.
Mainly its used for security updates which are probably a line of code changed, or a function changed, and there is no difficulty with inconsistencies (unless maybe someone is in the middle of trying to exploit the buffer overflow, but they avoid that problem by making sure no threads are in the functions that are being patched). This is my understanding of how it works.
Re:Hmm... (Score:3, Informative)
It's voilà [wiktionary.org]. How hard is it to not look like a moron?
Servers (Score:4, Informative)
Re:Now this is even more applicable (Score:3, Informative)
kexec restarts the entire software stack while leaving hardware running.
From what I can tell, ksplice does not require a software restart or hardware restart. This isn't explicitly stated, but it is implied by the usage instructions: http://www.ksplice.com/uptrack/using [ksplice.com]
Re:how about is linux with memory leaks? (Score:4, Informative)
Re:Scary analogy (Score:5, Informative)
Re:how about is linux with memory leaks? (Score:5, Informative)
No, the grandparent means uninterruptible sleep.
Processes sleep in a way that can't be interrupted in some cases. For instance, when writing to a file. The logic of that that if it was possible, the application would have to retry the interrupted call, and since a write is assumed to be uninterruptible nobody tries to check if it was interrupted.
This ocassionally creates problems, like when something in the disk subsystem goes wonky, and a write call never returns, leaving the process sleeping and unkillable forever.
There was a patch [lwn.net] to create a killable state, that allows fatal signals to be processed in such cases, since the process would die immediately anyway. I'm not sure how fully is this integrated, but while I remember unkillable processes in the past, I don't think I had any in the last couple of years.
Re:interesting (Score:3, Informative)
That means there's libre-free software and a service provided by a non-distro company which is, for selected distros, gratis-free. For now.
I like your Latin-based distinction of "free" better than the free-as-in-beer v.s. free-as-in-speech method. I'll have to remember it for the next time I give a speech on OSS at the Roman senate.
Libre is French. The Latin equivalent is liber.
Re:interesting (Score:2, Informative)
Lorem ipsum dolor sit amet
Re:how about is linux with memory leaks? (Score:3, Informative)
I recall seeing this problem with NFS some years back - don't know if it's still the case. The clients with open connections would freeze solid if the server abruptly dropped the connection, for whatever reason, and would stay
that way until either forcibly rebooted or until the server reconnected.
I think that the server could be mounted in a "soft" state to prevent that but was told there was too much of a performance penalty.
Re:Old hat (Score:3, Informative)
Incidentally, Smalltalk images work similar. For a fun time, open up a Squeak image and start digging around. Now *that* is open source software.
Re:Scary analogy (Score:2, Informative)
I know Windows 7 has improved startup times dramatically over XP, and that's great. My father has a Windows 7 machine, my mother does, several friends do, and I like it. It does start fast.
But, no, to answer your question, startup takes nowhere near a minute in Mint. Probably closer to the 15 seconds you report from Windows 7, though I'll admit I haven't timed it with a stopwatch so I can't give you an exact time.
"Boot" and "reboot" are different terms, though.
So, to be clear: My "under a minute" was from the moment I told Mint to reboot to the moment I'm back in a fully operational desktop again with my basic programs running (Firefox and Thunderbird). So that figure includes powerdown, POST, OS startup, login to my primary account, launching my programs, and being back where I started when I started telling it to shut down.
And it's probably closer to 40 seconds, if I had to guess at a more precise time. But that's a guess. And Windows Seven might still beat the pants off it, and if it does I'm happy for you if that sort of metric is important to you. Personally, I'm happy with anything pretty much under a minute or so.
The reboot-to-patch-everything treadmill really sucks, and I'm glad it's largely behind us as a computing community across most personal computing platforms.
It's also great that everyone (on all platforms) has put so much work into reducing boot times for those times when it is necessary (or safer) to just reboot rather than trying to patch-in-flight.
Re:Hmm... (Score:3, Informative)
As much as I hate to weigh in on a grammar nazi thread, using a split infinitive is not necessarily incorrect.
http://en.wikipedia.org/wiki/Split_infinitive#Current_views [wikipedia.org]
If the meaning is obvious and unambiguous, let it be, I say.
Re:Old hat (Score:3, Informative)
Did the Lisp machine let you change the hardware running those lisp expressions? No?
Not exactly, but with a Lisp Machine everything other than the hardware was modifiable. The entire run-time environment was written in Lisp. The Squeak VM includes things like the frame buffer, for example, which are statically compiled.
SqueakNOS is more impressive than Squeak, because everything from the interrupt handler layer and up is written in Smalltalk and can be modified. This is pretty close to being equivalent to a Lisp Machine. The only bits you can't modify at run time are the bits that are written in assembly and set up the interrupt vectors, and a few bits of the VM that are statically compiled.
For a modern production system that does this incredibly well, take a look at the OpenFirmware implementation used in the OLPC machines. They boot to an interactive FORTH environment that lets you modify everything in the boot firmware.
The thing that makes ksplice interesting is that it does it in C. As I said in the post that was marked flamebait, this is a pretty trivial problem in late-bound languages, but a general solution in C is impossible. A specific, good-enough, solution is therefore interesting.