The kernel at the center of the burgeoning Linux universe has just received its broadest series of changes in its history.
“There are a lot of changes in the 2.6.25 kernel, more changes than have happened in any previous single kernel release,” said Greg Kroah-Hartman, a kernel developer and a Novell fellow in the company’s Open Platform Solutions group.
“The rate of change is also higher than almost any previous kernel release as well, and I think more developers and more companies contributed than ever before,” he told InternetNews.com. Kroah-Hartman recently co-authored a recent study that found nearly 1,000 developers are now working on the Linux kernel, representing over 100 corporations.
The update from the prior 2.6.24 kernel incorporates more than 12,000 individual changesets, totaling nearly 370,000 lines of code.
“Tons and tons has changed,” Linux founder Linus Torvalds said in his release announcement, adding that the changelog alone weighs in at a whopping 7.5MB in size.
While Torvalds described many of the changes as “one-liners,” chiefly updates to drivers, some of the release’s improvements tackle wider-ranging issues.
Among the highlights of the 2.6.25 release are improvements to Linux’s real-time capabilities, including Read/Copy/Update (RCU) preempt support. Such enhancements may better position Linux for use in certain industries that require software operations to behave deterministically — producing results in the same time, each time.
“This feature allows the real-time kernels to work better with the RCU-locking subsystem, making customers who rely on deterministic computing much happier,” Kroah-Hartman explained.
Another real-time improvement comes from First In/First Out (FIFO) ticket spinlocks. A spinlock is a piece of the kernel that ensures two threads can’t modify the same data: it locks a thread in a loop until the resource becomes available.
“Now, spinlocks are not ‘unfair,” Kroah-Hartman said — referring to the fact that they now ensure threads are not locked out from data for too long — thereby “making the kernel operate in a much more deterministic manner.”