|
|
Subscribe / Log in / New account

The last-minute merge wishlist

Linus is spending the week cruising through the Caribbean; when he returns, just a few days will remain before the Halloween feature freeze date. There has been a lively discussion of the patches which will be waiting for him when he gets back. Rob Landley has compiled a list of 2.5 merge candidates based on those discussions. The list is a good summary of what's still waiting in the wings, but it assumes the reader understands what the various patches are. So here's an annotated version:

  1. The new kernel configuration system. The new configuration code has been generally well received; even the Qt-based graphical configuration tool hasn't drawn a lot of complaints. Merging seems likely, perhaps without the graphical tools, which, Linus thinks, might be better off outside the kernel. (Covered here October 10).

  2. Extended attributes and ACLs for ext2 and ext3. Ted Ts'o has taken on the work of fixing up and submitting this patch set. There has been some concern, based on Red Hat's having evidently pulled the ACL patches from their 8.0 kernel during the beta stage. But it would be surprising if this patch did not get in in some form; access control lists are a fairly basic requirement for a lot of users. Some Linux filesystems (JFS, XFS) already support ACLs.

  3. Linux Trace Toolkit. LTT is a general tool for the tracing of events in a Linux system, in both user and kernel space. It's not clear whether this one will get in; not everybody is convinced that this patch needs to be in the mainline kernel. (Covered briefly on April 18).

  4. LVM2 and/or EVMS. The 2.5 kernel currently lacks a working logical volume manager, but there is little consensus on which of these two developments should fill that gap. It is possible (though unlikely) that the next stable kernel could ship without any volume manager at all. (Covered here last week).

  5. Shared page tables. This patch, originally by Daniel Phillips, has since been picked up by Dave McCracken and fixed up for inclusion. Shared page tables have a couple of benefits: they reduce the time taken by the fork() system call (since page tables and rmap structures need not be copied), and they reduce page table overhead for systems (i.e. databases) using very large shared segments. The patch has been slow to stabilize, and may appear too risky for inclusion at this late date, but one never knows. (Covered back in January).

  6. Large page support is another way of reducing overhead for very large shared segments. A large page patch went into the kernel a little while back (covered August 10), but it is difficult for applications to use and does not work with shared segments, which is where people really want this capability. A number of patches currently exist in Andrew Morton's "-mm" tree which address these problems.

  7. Dynamic probes/KProbes. This patch allows the placement of debugger-style breakpoints at arbitrary locations within the kernel. There is some pressure to get this one merged, but Linus has not taken it so far.

  8. High-resolution timers. This longstanding patch by George Anzinger implements the POSIX timers specification. There are some concerns about how this patch is implemented, and recently an alternative version of the patch has surfaced. There is demand for this capability; with luck some version of the patch will get in.

  9. Linux Kernel Crash Dumps. This is another patch which has been around for a long time; it allows the creation of a full dump of the kernel's state when it crashes. The purpose, of course, is to enable vendors to debug crashes remotely. (First LWN mention: November 18, 1999).

  10. Console layer rewrite. This is mostly a massive cleanup project which is getting a lot of the ancient cruft out of the console layer while adding some new features. Parts of this work have just been finished recently.

  11. kexec. This relatively new patch adds a kexec() system call that allows booting another kernel directly from Linux. With this patch, one can reboot (possibly into another operating system) without having to go through the whole BIOS startup routine again. This patch is quite new and has some open issues; it may be a better candidate for the next development series.

  12. USAGI IPv6. The USAGI project has been working in improved IPv6 support for some time, and has released a comprehensive set of patches. The word from David Miller, however, is that the networking developers want to take a different direction for IPv6 support (and CryptoAPI and IPSec as well). "We will be incorporating lots of ideas and small code pieces from USAGI's work, but most of the core engine will be a new implementation." They intend to have this work complete and ready for merging by Linus's return. That will be a big pile of new code, however, that few people have seen.

  13. uClinux. This is the classic patch for running Linux on systems with no memory management unit. It has recently been ported forward to 2.5 and proposed for submission; Alan Cox has merged it into his tree. New architectures are usually not that hard to get in, and there has not been much opposition to this one.

  14. sys_epoll. This is the new incarnation of the /dev/epoll patch, which seeks to make a faster, more scalable poll() interface. The patch has been reworked into system call form now, and might just get past Linus this time.

  15. New CD burning patch. This brand-new patch from Jens Axboe (finally) allows the use of DMA operations when burning CDs. It also turns burning into a zero-copy operation. The result should be faster, more reliable CD writing. (Patch posted on October 23).

  16. In-kernel module loader. Rusty Russell's in-kernel module loader patch is advertised as being safer and more capable than the old, user-space implementation while simultaneously requiring less kernel code. (Covered here September 26).

  17. Boot/module parameter rework. This patch made Rob's list, but there has been little work in this area recently. Many of the ideas from this work have been folded into the device model code. (Covered here in June as part of the Kernel Summit writeup).

  18. Hotplug CPU. This is another Rusty Russell patch which has been around for a while. It seems to work, but has few users - most of us don't pull processors out of running systems. Its application, of course, is for high-availability systems and such.

  19. The unlimited groups patch. This is a recent patch which would allow the kernel to support very large numbers of groups - the developers have tested it with 10,000 at a time.

  20. Initramfs. This patch allows a disk image to be appended directly to the kernel executable; it would then contain much of the bootstrap code that is now found in the kernel itself. This patch reduces the size of the kernel itself while making it far easier for users to customize the early bootstrap process; it could be especially useful for embedded systems. Much of this code has been ready for some time; it has mostly been a matter of getting the user-space side of things into shape. (Covered here August, 2001 and January, 2002).

  21. ReiserFS 4. This is a completely new version of the Reiser filesystem; almost nobody has seen it, but it is supposed to show up shortly in condition for merging.

  22. A larger dev_t. Supporting larger numbers of devices was high on the list of things to do before the 2.5 series even started, but the enlargement of the dev_t type still has not happened. This one is on Alexander Viro's plate; he has been pushing through other changes (in the block layer, mostly) that are prerequisites to the dev_t change. (Covered here December, 2001).

That, of course, is a rather lengthy list. Much of this stuff is clearly not going to get in to the 2.5 kernel - at least, not if the feature freeze holds as intended. At this point, it's mostly a matter of waiting until Linus returns and seeing what he decides to do.


to post comments

#10 Console layer rewrite

Posted Oct 24, 2002 7:33 UTC (Thu) by tres (guest, #352) [Link] (1 responses)

This is a bad link. I am informing the page maintainer even though I didn't follow the link from an external page.

#10 Console layer rewrite

Posted Oct 24, 2002 11:44 UTC (Thu) by havardk (subscriber, #810) [Link]

Until the page get fixed, the link probably should be pointing here.

The last-minute merge wishlist

Posted Oct 24, 2002 10:57 UTC (Thu) by bjn (guest, #2179) [Link] (2 responses)

Wow! Thanks for this extensive writeup.

The last-minute merge wishlist

Posted Oct 24, 2002 15:59 UTC (Thu) by jvotaw (subscriber, #3678) [Link] (1 responses)

This is definitely the kind of thing I read LWN for. It's nice to have some commentary rather than just a bare-bones bulleted list.

The last-minute merge wishlist

Posted Oct 24, 2002 22:47 UTC (Thu) by aglet (guest, #1334) [Link]

I concur; makes me glad to have paid for my subscription.

The last-minute merge wishlist

Posted Oct 24, 2002 17:12 UTC (Thu) by cpeterso (guest, #305) [Link]


For all the work already done for Linux 2.5, it sounds like there is still a LOT to do. If many of these huge pending changes are merged, then I imagine the stabilization phase from here until Linux 2.6/3.0 will be rather long.

Historically, how long has the new kernel been released after one of Linus' "slushy" code freezes? Will he be more strict about the code freeze this time? 2.2.0 --> 2.4.0 took exactly two years (January 1999 to January 2001). So to keep on the "two year" schedule, Linus would need to hurry up and release Linux 2.6.0/3.0.0 in January 2003. :-)


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