Monday, August 17, 2009

WHAT’S NEW IN KERNEL DEVELOPMENT

An effort to change the license on a piece of code hit a wall recently. Mathieu Desnoyers wanted to migrate from the GPL to the LGPL on some userspace RCU code. Read-Copy Update is a way for the kernel to define the elements of a data object, without other running code seeing the object in the process of formation. Mathieu’s userspace version provides the same service for user programs. Unfortunately, even aside from the usual issue of needing permission from all contributors to change the license of their contribution, it turns out that IBM owns the patent to some of the RCU code concepts, and it has licensed the patent for use only in GPLed software. So, without permission from IBM, Mathieu can get permission from all the contributors he wants and still be stuck with the GPL.

Loadlin is back in active development! The venerable tool boots Linux from a directory tree in a DOS partition, so all of us DOS users can experiment with this new-fangled Linux thing. To help us with that, Samuel Thibault has released Loadlin version 1.6d and has taken over from Hans Lerman as official maintainer of the code. The new version works with the latest Linux kernels and can load up to a 200MB bzImage. He’s also migrated development into a mercurial repository. (Although not as popular as git with kernel developers, mercurial does seem to have a loyal following, and there’s even a book available at hgbook.red-bean.com.) After seven years of sleep, here’s hoping Loadlin has a glorious new youth, with lots of new features and fun. It loads Linux from DOS! How cool is that?

Hirofumi Ogawa has written a driver for Microsoft’s exFAT filesystem, for use with large removable Flash drives. The driver is read-only, based on reverse-engineering the filesystem on disk. There doesn’t seem to be immediate plans to add write support, but that could change in a twinkling, if a developer with one of those drives takes an interest in the project. Hirofumi has said he may not have time to continue work on the driver himself. Meanwhile, Boaz Harross has updated the exofs filesystem. Exofs supports Object Storage Devices (OSDs), a type of drive that implements normal block device semantics, while at the same time providing access to data in the form of objects defined within other objects. This higher-level view of data makes it easier to implement fine-grained data management and security. Boaz’s updates include some ext2 fixes that still apply to the exofs codebase, as exofs originally was an ext2 fork. He also abandoned the IBM API in favor of supporting the open-osd API instead. Adrian McMenamin has posted a driver for the VMUFAT filesystem, the SEGA Dreamcast filesystem running on the Dreamcast visual memory unit. Using his driver, he was able to manage data directly on the Dreamcast. At the moment, the driver code does seem to have some bugs, and other problems were pointed out by various people. Adrian has been inspired to do a more intense rewrite of the code, which he intends to submit a bit later than he’d first anticipated. A new source of controversy has emerged in Linux kernel development. With the advent of pocket devices that are intended to power down when not in use, or at least go into some kind of power-saving state, the whole idea of suspending to disk and suspending to RAM has become more complicated. It’s not obvious whether the kernel or userspace should be concerned with analyzing the sleep-worthiness of the various parts of the system, or how much the responsibility should be shared between them. There seems to be many opinions, all of which rest on everyone’s idea of what is appropriate as well as on what is feasible. The kernel is supposed to control all hardware, but the X Window System controls hardware and is not part of the kernel. So, clearly, exceptions exist to any general principles that might be involved. Ultimately, if no obvious delineation of responsibility emerges, it’s possible folks may start working on competing ideas, like what happened initially with software suspend itself.

Source of Information : Linux Journal Issue 182 June 2009

No comments: