What to merge for 2.6.13?
Some of the decisions are not particularly controversial. Andrew is likely to merge the OCFS2 filesystem, some Xen precursor patches, execute in place support, software suspend support for SMP systems, some kernel timer performance improvements, various KProbes updates, the RapidIO subsystem, some scheduler tweaks, and some memory management work. Nobody has really complained about the inclusion of any of these patches (yet), so their path into the kernel might be relatively smooth.
One patch which has gotten surprising support is kexec, which was first covered here in November, 2002. The ability to quickly boot a new kernel without going through the system firmware is nice, but the real payoff for kexec comes when it is combined with kernel crash dumps. Crash dumps can be a useful diagnostic tool, especially for vendors who are trying to track down a bizarre crash which only occurs at a customer's site. So various distributors have included some sort of crash dump capability in their kernels for some time. These patches will typically write kernel memory to a disk or network device, then reboot the system.
The approaches taken to crash dumps so far share one significant problem: they all rely on the kernel to create its own dump. But this is a kernel which has just gone into panic mode; it is not in a stable state. The chances of an oopsing kernel completing a satisfactory crash dump are not all that high (Arjan van de Ven estimates that it works about 10% of the time). The real problem, however, is the risk involved in allowing an unstable kernel to continue performing I/O; there is a very real possibility that a (corrupted) crash dump could end up being written on top of something that the owner would have preferred to keep.
The kexec approach gets around this problem by rebooting the system before performing the dump. The normal, production kernel is configured to set aside a small range of memory, which it never uses. Instead, a different kernel is loaded into that memory; this kernel will be small, and configured to do little other than performing crash dumps. If the system should panic, kexec is used to immediately boot into the crash dump kernel. This kernel, which will be starting fresh and in a known state, can then write the contents of memory to some sort of permanent store before rebooting into a new production kernel. This approach is safer and more reliable; the mailing list discussion has been favorable enough that kexec/kdump appears likely to be merged.
The reiser4 filesystem has sat in the -mm tree for some time, and Andrew indicated that he might merge it this time around. Reiser4 has run into trouble into the past, mostly as a result of its "file as a directory" semantics which change how Linux works, can confuse tools, and, crucially, can lead to system deadlocks. This feature has been disabled for now, but there is still opposition to merging reiser4 into the mainline.
The main issue this time around would appear to be the plugin architecture used by reiser4. Plugins can be used to change the behavior of the filesystem in many ways, from adding compression to completely changing how the file is laid out on disk. The plugin mechanism is a key part of Hans Reiser's longer-term vision of how filesystems should work; he hopes to eventually move all kinds of functionality into the filesystem level. The kernel developers, however, do not think that this sort of mechanism should be built into a filesystem; instead, much of what plugins do belongs in the VFS layer. So they would like to see reiser4 slimmed down into a much smaller, dumber system, with the plugin capability added on top of it and made available for other filesystems as well.
Hans is resisting making this (large) change; he asks that the review process take a different tack:
Things appear to be at a standoff which could block the inclusion of reiser4 for some time.
Yet another change under consideration is configurable clock frequencies for the i386 and ia-64 architectures. The current value (1KHz) turns out not to be optimal for all users; lower clock frequencies can improve throughput on some systems at the cost of coarser timer resolution and possibly increased latencies. There have been complaints about the new default (250Hz) and the fact that the patch is going in at all when more sweeping changes to the timer system (such as the dynamic tick patch) are waiting on the wings. Your editor's guess is that the patch will be merged, but the default may be changed to keep the current HZ value.
FUSE (user-space filesystems) is being discussed again. FUSE has run into opposition due to the way it overrides the file permissions checking done at the VFS level. There does not appear to be any solution to this issue that pleases everybody, so it is hard to say where this one might go. It is possible that FUSE will be merged, but without its particular permissions behavior - a solution which would leave a number of FUSE users still needing to apply a patch to get the behavior they want.
It didn't appear on Andrew's list, but the removal of devfs has also been a
discussion item. Andrew didn't entirely like the full patch set which
completely removed devfs from the kernel; he wondered what would happen if
enough people complained and devfs had to be restored at some point in the
future. So the current approach is to simply remove the devfs
configuration option, making the functionality inaccessible. Eventually,
if no major problems turn up, the code can be removed for real.
Posted Jun 23, 2005 14:24 UTC (Thu)
by utoddl (guest, #1232)
[Link] (9 responses)
I know the new kernels do a lot of stuff, and on newer hardware with lots of resources to manage they are plenty fast enough. But the old boxes really make the cumulative effects of spent cycles stand out noticeably, even if those cycles are doing neat things. This hardware predates 1KHz clocks by eons. So, how much difference would you expect a 250kHz (or even slower) clock to make on a system like this?
When I get around to trying it out, I'll let you know what I find. In the mean time, what benchmarks would you suggest to help quantify these differences?
Posted Jun 23, 2005 14:28 UTC (Thu)
by utoddl (guest, #1232)
[Link] (1 responses)
Posted Jun 24, 2005 18:51 UTC (Fri)
by pflugstad (subscriber, #224)
[Link]
I do compile a custom kernel to remove a lot of the stuff I don't need and disable things like HIGHMEM (or whatever it is) that impact things. I'm also very careful to turn off as much stuff as I can.
Heck, suspend even works on this thing.
So it's very possible - it may not work "out of the box" but it runs just fine on slow systems.
Posted Jun 23, 2005 16:01 UTC (Thu)
by a9db0 (subscriber, #2181)
[Link]
Posted Jun 23, 2005 19:29 UTC (Thu)
by larryr (guest, #4030)
[Link] (1 responses)
I would be surprised if going from 100Hz to 1000Hz made the system more than 10% slower as far as total throughput. The main area where the change should be noticeable is improvement in interactive response. The scheduling in 2.6 is significantly different from 2.4, independent of the time slice value. Larry
Posted Jun 24, 2005 2:22 UTC (Fri)
by giraffedata (guest, #1954)
[Link]
In this case, I'd bet money the myriad differences in the kernel between 2.4 and 2.6 all taken together have nothing to do with the slowdown. A whole lot of other software has changed here too.
Remember that when CPUs were about 1000 times slower than this 200 MHz thing, Unix systems were already performing reasonably at 100 Hz. So processing 10 times as many ticks ought to be OK.
Posted Jun 24, 2005 4:26 UTC (Fri)
by set (guest, #4788)
[Link]
Posted Jun 24, 2005 13:53 UTC (Fri)
by evgeny (subscriber, #774)
[Link]
Recently, I've installed Ubuntu on an old 266MHz PII PC. The thing was so dreadfully slow that even the pointer motion had an observable delay (sure enough, the default animated pointer theme didn't help). Then I recompiled the kernel enabling only the needed features/drivers - and it literally flies since then! I highly recommend you try recompiling the kernel; I do it for all systems I own/administer (and of course for Gentoo and like this is the normal setup procedure). The stock kernels of modern binary distros have so much mess enabled by default that I sometimes wonder how these work at all ;-)
Posted Jun 30, 2005 18:09 UTC (Thu)
by xorbe (guest, #3165)
[Link] (1 responses)
Posted Jul 3, 2005 4:12 UTC (Sun)
by dmag (guest, #17775)
[Link]
I've seen some distos targeted at older computers, but I don't think they go far enough. Here's what I would do:
Posted Jun 23, 2005 19:34 UTC (Thu)
by ccyoung (guest, #16340)
[Link] (1 responses)
Posted Jun 24, 2005 12:21 UTC (Fri)
by jschrod (subscriber, #1646)
[Link]
You mean, like, the smallest measureable distance?
Sorry, couldn't resist... :-) :-)
I'd like to get an idea of how much apparent difference the proposed timer changes would make to users on extremely old/slow machines. I used to run 2.2 and early 2.4 kernels on my kids' 200MHz 586, and they seemed pretty peppy (the kernels, not the kids). I just installed Fedora Core 4 on it (Hey, they wanted the games), and... it... is... -- heck, I can't type slow enough to express how slow it is. Slug races are more engaging. (I doubled the RAM last night on a lark; no difference. And I'm not talking about the GUI bloat in KDE and GNOME and the accompanying slugishness, I'm just talking about getting to runlevel 3.)
Fast clocks on slow hardware
That should be "250Hz", not "250KHz". A 250KHz clock would leave it a smoking pile of slag.
Fast clocks on slow hardware
I run a 2.6 kernel on a P5/133 MHz laptop - Debian distro (slimmed down) - with 96MB of RAM. At runlevel 3, it's plenty fast for just about everything I do. I even run fvwm and that works fine for a GUI.Fast clocks on slow hardware
You're not the only one with that concern. I run a P90 as a firewall machine, and a P233 as a file server. Heck, my web server is only a PII400. Those minor performance hits on fast machines quickly get magnified on slower boxes.Fast clocks on slow hardware
Fast clocks on slow hardware
In fact, the only time I've ever heard anyone complain about the clock tick overhead is on systems where lots of Linux systems share the same CPU and are designed for most of those Linux systems to be idle most the time (the clock ticks even on an idle system).
Fast clocks on slow hardware
hmmm. I dont see why a 2.6 kernel would be inherently slower than aFast clocks on slow hardware
2.4 or 2.2 kernel on old hardware. (And Ive run 2.6 kernels on much
older, slower boxes than you describe;) (other than in extreme low
memory situations...)
Definitely, I could see userspace bloat causing a problem, though.
(not just desktops, but all the other crap that might be running in
a modern distro). I would also not be running a vender kernel on old
hardware; its probably not optimised for it, and who knows what all
theyve configured it for. Well, at least not a major vendor; maybe
one of the distros designed to be small and lean...
My current desktop is a pIIx2@400, and it feels better with a 2.6 vs.
a 2.4 kernel. Ive also just tested Ubuntu and fc3 on a k6@333, and
the only thing slow was gnome;)
As others have put it, it's hardly the clock rate that made the difference.Fast clocks on slow hardware
As a long time Mandrake user (recently switched back when x86_64 mdk arrived), there is definitely something wrong with FC3 I can tell you. It. Is. So. Slow. Clicking, saving, typing, argggh! I have no idea what the underlying issue is there.Fast clocks on slow hardware
It's probably the CPU type your kernel is compiled for. Nowadays, most distros optimize for recent CPUs. This code will run on your Pentium, but much slower. Having a slow CPU running a non-optimized program is a double whammy. A kernel recompile (telling it exactly which CPU you have) will give your 'slow' CPU a speed boost.
Fast clocks on slow hardware
I'm too lazy to make this distro just to turn my old laptop into an in-car MP3 player and GPS mapper.. Hopefully, someone else will :)
I _really_ like what's going on with the reiser fs. however, I'm clueless how to merge without stepping on toes. maybe a temporary fix would be a special flavor such as Xen. I think the most important thing is to get his ideas out so people can begin using them. in the end I think they will be a quantum improvement.reiser
quantum improvement?reiser
