RealTime IT News

Linux Kernel Takes on Niagara

Linux is adding support for yet another architecture in its latest release of the 2.6.17 kernel.

Sun's "Niagara" processors are now supported in the mainline Linux kernel, though the additional architecture support is far from the only addition in the third new kernel point release of 2006.

Sun's UltraSPARC "Niagara" chips were first released to the market late last year.

They include up to eight processing cores that can support up to four threads per processor for a total of 32.

The official 2.6.17 kernel from kernel.org is not the first Linux kernel that actually supports Sun's Niagara architecture, however. At the end of May, space tourist Mark Shuttleworth rolled out Ubuntu "Dapper Drake," : the first mainstream Linux distribution to support Niagara. Ubuntu Dapper Drake actually ships with a 2.6.15 kernel with the Niagara support backported into it.

(Internetnews.com queried Sun last week about the Linux kernel's support for Niagara. Sun declined to comment at the time, noting that David Miller, the developer that submitted the kernel support for Niagara, does not work for Sun.)

As internetnews.com reported in February, the new 2.6.17 kernel also makes it easier for Linux to deal with disconnection/reconnection events. Linux kernel developer Stefan Rompf had previously explained that the 2.6.17 kernel will allow userspace to influence connection event-signaling, so that a DHCP  client could be notified that a connection has terminated and the client should attempt to obtain a new IP address.

The new DHCP effort is currently stalled, according to Rompf.

"But with the bunch of patches I have here, I consider it feature complete and will release a beta version in the second half of June," Rompf told internetnews.com.

The new kernel also includes laundry list of other new features and supports. They include firewall support in the Linux iptables feature for the VoIP H.323  protocol.

A new input output (I/O) mechanism called splice () has also been added, which may well serve to improve the performance of certain function. In an April mailing list posting Linus Torvalds explained that the really high-level concept behind splice is the notion of a "random kernel buffer" that is exposed to user space.

"In other words, splice() and tee() work on a kernel buffer that the user has control over, where "splice()" moves data to/from the buffer from/to an arbitrary file descriptor, while "tee()" copes the data in one buffer to another," Torvalds wrote. "So in a very real (but abstract) sense, "splice()" is nothing but read()/write() to a kernel buffer, and "tee()" is a memcpy() from one kernel buffer to another."

The 2.6.17 kernel introduces and supports the latest needs in the industry, but it also improves support for legacy technologies as well.

Case in point: support for the legacy DECnet protocol.