I applaud Zaitcev's 22-Mar-2003 journal and his 28-Mar-2003 update.
I forgot to mention in my last posting that procps 2.0.12 was released last Friday. Tarballs and RPM packages are available. Nothing too critical... a few cleanups and the removal of oldps(1). Oh, and a major bug fixed by axboe in vmstat(8) causing a fpe under 2.5.
The next release will hopefully have a whole slew of performance optimizations contributed by alex and Red Hat. Many of them are NTPL-related (the new threading package in glibc 2.3 and the 2.5 kernel - also back-ported to 2.4 for Red Hat's next release) but some are general enhancements, too. Looking very nice.
My OLS
paper was accepted and the abstract is now up. I am going to try to summarize the improvements to interactivity in 2.5 (to which, some may be surprised, I give a very large credit to the new I/O scheduler) and then discuss where we still have to go. Linux desktop and real-time performance is a good step above 2.4. And its not that 2.4 was bad but 2.5 is just so damn good. It is much more consistent. No more out-to-lunch-see-you-later yelled to your read I/O requests as your write I/O requests hog the day (e.g. evolution exiting and expunging a large mail folder). No more huge latencies due to VM teardown or large unlinks. Very nice.
fejj: I agree, gnome-terminal with vte is too slow. I have not turned off anti-aliasing, because I like it, but its just slow. Good thing I always do large compiles like:
make > ../makesOr else the output speed would cut my kernel compiles in half. I really recommend the above, btw. It lets you see just the errors and warnings (which gcc kindly emits to stderr) and not the usual cruft. If you really need to see the junk, it is saved.
Spent the weekend at Sebring International Raceway with my roommates, watching my father in an auto race. It was quite fun. Plenty of Porsches and beer. And he took third in class at the enduro.
Finally got the glibc folks to merge my latest sched_{set|get}affinity patch. The kernel and existing applications prototype the system calls like:
int sched_setaffinity(pid_t, unsigned int, unsigned long *)But glibc 2.3 prototypes them as:
int sched_setaffinity(pid_t, unsigned long, unsigned long *)On 32-bit architectures this is a trivial error, since sizeof(unsigned long) == sizeof(unsigned int), but it results in a compile failure. Ugh. Thankfully now fixed in CVS. Hopefully Red Hat 8.1 will ship with it.
Eh, what is new in life... new schedutils, 1.1.0, released back on 11 Dec 2002. Nothing too monumental there but some cleanups and such. Oh, and chbatch(1) was removed, since SCHED_BATCH is unlikely to go in any kernel anytime soon. The next release will include the perhaps upsetting removal of both lsrt(1) and irqset(1), too. The rationale for the former is that procps now does everything and more that lsrt does. The rationale for the later is that, uh, it has nothing to do with process scheduling. I think, with just two utilities remaining, I should look to integrate them into an existing package, like util-linux. I also plan to expand taskset a bit: more options and behavior mirroring sgi's cpuset utility.
Kernel development is progressing nicely. The opinion on when we will be stable and thus release seems to be pushing further and further back, however. I was really hoping for a summer 2003 release. We are really solid now, but there are some issues - primarily IDE. Plus, the Grand Penguin has not yet declared a code freeze. Soon, hopefully.
Busy doing kernel work for MontaVista. It is painful to work in 2.4 these days. The limitations of the 2.4 I/O scheduler (aka the "linus elevator") are pretty apparent. Plus, out-of-the-box (with kernel preemption enabled) sub-1ms maximum latencies are possible on 2.5 today.
So the news is out over the Desktop Linux Summit mess. This desktoplinux.com news item pretty much sums up the public information. I had a talk scheduled and suffice to say, I withdrew on Thursday as this was all going down. Too bad, cause I wanted to see San Diego and I am passionate about Linux on the desktop.
Dog-cat-hybrid.
Been debugging the 2.5 scheduler's interactivity flaws. Andrew has found setting max_timeslice=10 and prio_bonus_ratio=10 is the sweet spot. I am not so happy we need to set the timeslice so low to make things work, but this is a start. I very much so want to keep the interactivity estimator in - but only if we can make it work. This tuning is done via the sched-tuning patch, for the curious.
Did a nice round table discussion with Andrew, Dave Jones, and others on the 2.5 kernel for Umeet '02. The transcripts should be available soon.
Learned how cascading style sheets work so redid my boring and simple webpage. Now slightly less boring and simple.
New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.
Keep up with the latest Advogato features by reading the Advogato status blog.
If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!