Linux in the news
All in one big page
See also: last week's Kernel page.
The current kernel release is still 2.2.1, despite the fact that Linus had promised a 2.2.2 by Tuesday when he announced 2.2.2pre4. He also stated his desire for 2.2.2 to be "really rock solid," so it's better that we wait if need be. Alan Cox, meanwhile, has put out 2.2.1ac6 for folks absolutely needing a new patch to apply.
The dominant conversation this week started with the question of why is fsync() on large files so slow? This problem manifests itself on systems with a very busy syslog daemon; syslog calls fsync after every entry that it logs to a file in the hopes that everything will get out to disk should a system crash happen. Busy loggers can have many entries every second, so fsync calls happen frequently.
The problem is that fsync requires an examination of all of the blocks in a file to be sure that none of them have been modified. If the file is large (and busy syslog daemons can create very large files) there is a lot of work to be done. In the worst case, the system bogs down and things start to hang for periods of time. Not fun.
Ted Ts'o came up with a quick patch which keeps track of which blocks in a file have been modified since the last sync; it works as long as not too many changes have been made. Further discussions with Linus lead to a preliminary design for a more extensive list of "dirty blocks" as a more ambitious solution to the problem. Whether anything that comes out of it will show up in a kernel before 2.3 is unclear.
Thereafter followed a strange discussion resulting from a suggestion by Stephen Tweedie that his journaling extensions to ext2 would also address part of the problem. Linus jumped on that with a pronouncement that journaling would never be accepted into the ext2 filesystem; it's too big a change. Big filesystem changes do tend to make people nervous. When it was pointed out to him that the plan has always been to create an "ext3" filesystem, Linus went further and suggested that ext3 be an entirely new filesystem - not based on ext2. Linus seems in particular to want to get rid of the "." and ".." entries that Unix directories have contained forever; it is not entirely clear why.
In any case, implementing an entirely new filesystem and dropping "." and ".." are not particularly popular ideas at the moment. Expect to see journaling (which is really just a way to make changes atomicly to the filesystem so that 'fsck' is not necessary, even after a crash) show up in an "ext3" filesystem somewhere in the 2.3 series.
A surge of development activity with the modutils package erupted after Björn Ekwall agreed to help maintain the package. He immediately reverted back to an older version of modutils which was written in C++ in a claimed response to some licensing problems. This change was not especially popular; in particular, there is concern about fitting modutils onto boot floppies - where every byte is precious - when the bulky C++ libraries must be included as well.
Development is pressing forward regardless, with an immediate goal of integrating the "modprobe" and "insmod" utilities. The latest snapshot was announced on Tuesday.
Kernel time in nanoseconds. Ulrich Windl put out a request for discussion on his plan to convert internal kernel timekeeping to use nanosecond intervals. This change would help to implement a number of POSIX real time functions, and also helps with the NTPv4 clock synchronization protocol. He's looking for testers for "this very experimental stuff."
Own a copy of history: Riley Williams is now offering a two-CD set with almost the entire history of released Linux kernels. See his web site for details.
Thanks to Randy Appleton for his assistance with this week's kernel section.
February 18, 1999