LWN.net Logo

What remains to be done

The "must fix" and "should fix" lists which were frequently posted some months ago have been keeping a low profile recently. They do still exist, however, and some effort has gone into keeping them up to date. The latest version is bundled with Andrew Morton's -mm patches. For the curious, here are the must-fix and should-fix lists from 2.6.0-test9-mm4.

The must-fix remains surprisingly long, given that 2.6.0 is considered to be right around the corner. It includes (among many other items):

  • A lot of locking problems in the tty, parport, PCMCIA, SCSI, and input drivers.

  • Expanding dev_t to 64 bits is there, though the list acknowledges that the current 32-bit size will be enough for 2.6.0. Reaching 64 bits will require additional work with certain filesystems (such as older NFS protocols) which are not prepared for it.

  • The char device rework remains incomplete, though it is in a functioning state now. It would not be surprising to see some changes in the char device API early in 2.6.x. Such things cause endless annoyance to people trying to write driver books.

  • There are still fixes from the 2.4 tree - including security fixes - which must be ported to 2.6. Alan Cox surfaced from his studies long enough to note that this work is currently being done.

  • The "misc device" interface is marked for removal, since the new char device interface does all the same stuff. That change seems unlikely for 2.6.x, however.

  • Asynchronous I/O remains a work in progress. It has a number of potentially lethal race conditions, and fairly straightforward things (regular file I/O, for example) are not fully implemented. The -mm tree contains a lot of AIO patches which should move over at some point, but they clearly not the "one line fixes" that Linus is looking for currently.

  • Scheduler interactivity remains on the list, though the level of complaining is lower than it used to be.

The "should-fix" list is even longer. It includes more IDE driver work, various device mapper cleanups, the incorporation of a number of wireless driver patches, the kexec patch (booting one kernel directly from another), merging klibc (for initramfs images), MPLS support for IPSec, sorting out the three-way software suspend disagreement, a kernel interface for reporting errors to user space, improving the external module build process, and numerous other things.

This list also still includes fixing module initialization races by not enabling calls into the module until initialization is complete. With the new module loading infrastructure, this change is an easy one to make. The only problem is that it breaks certain things (like disk drivers, where the kernel attempts to read the partition table when a disk is registered with the system). These problems can be worked around, but there appears to be little will to do so at this time.

No kernel will ever be perfect when it is released - making one perfect would take so long that the kernel would no longer be relevant. Even so, these lists are still long. Expect a bit of churn in the early 2.6.x releases as the developers work at shortening them.


(Log in to post comments)

What remains to be done

Posted Nov 20, 2003 3:50 UTC (Thu) by Nick (subscriber, #15060) [Link]

I'll be keeping the lists here http://www.kerneltrap.org/~npiggin/mustfix/ from now on until people get sick of me. I can send changes to Andrew in larger chunks, its probably a bit easier on him.

What remains to be done

Posted Nov 20, 2003 19:48 UTC (Thu) by NCunningham (subscriber, #6457) [Link]

"..three way software suspend disagreement..." isn't quite right.

I have no gripes with Patrick or Pavel. It is true that I've added another implementation into the mix, but the aim is and always has been to get this version merged with one or the other (probably Patrick's, it seems). It is only separately distributed at the moment for the sake of testing while I stabilise and clean it up. Then the work will focus on building a BK tree with bite sized patches to get it merged.

Regards,

Nigel

Copyright © 2003, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds