Because of a commit at 2004/04/29 03:06:41 PDT, your next upgrade will need a buildworld – make quickworld won’t catch it. This was helpfully noted by David Rhodus.
Month: April 2004
buildworld needed
Athlon P4/Xeon users take note
If you have an Athlon or Xeon processor, go into usr/src/test/sysperf, do make, and the resulting /tmp/mem1 program will probably give interesting results, which you can then post to the kernel mailing list. A caveat from Matt Dillon:
“Note however that you have to manually edit which copy tests it does since it bus fault if you try to run the XMM (SSE2) test on a machine without SSE2 :-)”
quick MMX fix
If you updated your kernel today and you are having wierd graphical issues or crashing, put this in /boot/loader.conf:
kern.mmxopt=0
The issue should be fixed very soon.
Quietly furious activity
It’s been very quiet, but that’s because people are really, really busy working on DragonFly features. Here’s a roundup:
- Devon H. O’Dell and others are still working on the installer, promtped by Hiten Pandya. The code for this is available via cvsweb, including the very interesting design notes. (It has diagrams, so it must be good.)
- Hiten Pandya and Joerg Sonnenberger are updating the device subsystem to match FreeBSD 5.x. (I don’t have a lot of details on this; they’re busy!)
- Matt Dillon is writing a paper with FreeBSD’s Alan Cox detailing the performance improvements of certain pipe optimizations; he’s been doing various benchmarks for data. He’s also been working on AMD64-specific code, which he’s planning to commit soon.
- I may as well toss this in too: Jeffrey Hsu has been quietly and steadily changing the networking system. I don’t often mention his patches because he’s working at a level that’s quite beyond my ability to summarize.
Installer screenshot
Devon already noted this in comments on the last post, but a screenshot (not a prototype) of his installer work is at http://sitetronics.com/current.png.
Installer example
Devon H. O’Dell has been working on an installer. This is a prototype, not a screenshot.
libcaps complete
The libcaps interprocess communication is now functional, though not implemented. Matt Dillon wrote how this could be worked up, which I am reporting wholesale:
More…
vidcontrol(1) fun
Sascha Wildner submitted a whole bunch of changes to vidcontrol(1); among other things, the colors/modes you can set in your terminal are more flexible, and it handles problems a lot better. This hasn’t been committed yet, and I usually don’t mention code until it’s in, but Sascha posted some nice photos of some of the possible modes:
Oh darn
David Rhodus has removed the system notes and checks for performing an a.out to elf upgrade. Old cruft, gone.
A comic link
Here’s seven pages of a mixed-media comic by Souther Salazar. This has nothing to do with DragonFly other than the title, but it’s a fun link.
It might be worthwhile to get a artist to do some logo work for DragonFly; it’s been done for other operating systems.
New 20040422 ISO
There’s a new ‘known good’ installation ISO on the dragonflybsd.org download page.
Package timesavers
Devon H. O’Dell has been creating a whole set of premade packages for DragonFly. Instead of working with ports/dfports, you can pkg_add these file directly.
UPDATING Update
Matt Dillon’s changed the UPDATING document, separating the “Upgrade from FreeBSD” and the “Upgrade DragonFly” sections into separate passages.
More devices
‘esmith’ linked to another project that handles devices, used in Linux: “User-Space System Device Enumeration” (uDSE).
Lots of tasks
Looking for things to do? Here’s Hiten Pandya’s list of possible merges from FreeBSD. There’s a lot of tasks there of varying length and difficulty, so if you feel like trying something out, go for it and post your patch to the dragonfly.submit list.
Logo saver corrected
Thanks to Matt Emmerton’s conversion work and my commit, the logo_saver KLD now shows the DragonFly logo instead of the BSD beastie. (Chuck’s gone to “bsdlogo”.)
stable and release
Jonathon McKitrick asked about “last known stable” tags, and the June release date for 1.0. Matt Dillon replied that a known stable tag will appear once the networking code is stable, and that a late June release is still planned
udev links
‘esmith’ asked about udev/hotplug in contrast to FreeBSD-5′s devfs, listing these links for more info.
http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev-FAQ
http://kerneltrap.org/node/view/1893
http://www.gentoo.org/doc/en/udev-guide.xml
More awk
Eirik Nygaard has updated the One True awk in DragonFly to version 20040207. This temporarily broke the buildworld process, so if you tried a buildworld this afternoon and it failed with awk, it should now work. (Fixed by David Rhodus.)
twa tweaking
David Rhodus has added the twa(4) driver, for the 3Ware Escalade 9000 series storage controller, based on Vinod Kashyap’s version in FreeBSD.
Rebuilding? Don’t forget modules!
Joerg Sonnenberger is merging some FreeBSD 5.x changes to kobj, which changes the ABI. This means rebuild all modules on your next kernel build. That includes your nvidia driver, too, if you have it.
Boot-time nfs issue fixed
Matt Dillon found that using short-form names in /etc/fstab would cause the DNS resolver to return “host not found”, even if there was just a timeout (which should result in “try again”) when first looking up that name. This is now fixed. If you found you could not mount NFS volumes at boot, but they worked when done manually after boot, this should fix it.
diffutils upgraded
Eirik Nygaard has committed diffutils 2.8.1 into the tree. This is similar to previous third-party software additions in that DragonFly-specific changes are managed through additional patches to original code, not by creating a DragonFly-only version of diffutils. Future upgrades are made much more easy using this method.
gawk gone
Based on a patch from Tobias ‘ibotty’ Florek, Eirik Nygaard has set DragonFly to build only Brian Kernighan’s One True awk. gawk, the GNU version of awk, is out. I’ll just take a geek moment here and point out Kernighan’s “The Practice of Programming” is one of my favorite computer books ever.
Wikipedia entry
Jeremy Almey alerted me to the DragonFly Wikipedia entry that he maintains – a good summary of the project, including one of the better explanations of tokens and the LWKT that I’ve seen.
SSI info
Andre Nathan asked for links on SSI (Single System Image), since that’s DragonFly’s pie-in-the-sky goal. Walt gave a link to Larry McVoy’s paper (Linux-specific) on the subject.
Negative NFS caching
Matt Dillon has added negative caching for NFS, meaning that NFS will now cache failed lookups, not just successful ones. He details the benefits like so:
“This makes a HUGE difference for programs which search nfs directories, such as compilers (the header file search path),
make, and a few other utilities. NFS packet traffic can be reduced upwards of 90%. For example, with/usr/srcmounted via NFS, building libc a second time without negative caching generates 66000 packets of NFS traffic in each direction, building libc a second time with negative caching enabled generates 9500 packets worth of NFS traffic, in EACH DIRECTION. While it is true that negative lookups are cached on the NFS server, the huge reduction in network traffic and equivalent reduction in synchronous read latencies result in radically reduced overheads across the board for operations which generate a lot of negative hits. A buildworld test with the default 3 second negative caching timeout went from 2265 seconds to 1900 seconds.”
NetBSD gets in on the action
Now there’s NetBSD quarterly reports, too. Seems like reader-friendly BSD reports is a good idea, eh?
More namecache plans
Matt Dillon’s posted about the namecache work he plans to be doing now; his summary is included here.
More…
Unixy system benchmarks
Ivan Voras has finished his benchmark of a system running FreeBSD, NetBSD, DragonFly and Linux. DragonFly does quite well, coming unsurprisingly close to the leader – FreeBSD 4.x. The difference would probably be more pronounced on a multiprocessor system, which wasn’t used in these benchmarks.
gcc3 and propolice
Stack smashing protection, also known as ProPolice, is now on by default when using gcc3. (It’s already been on by default for gcc2 for some time now.)
The right way to cvsup
For those of us from FreeBSDland, the kernel upgrade process is (well, recently) solidified to a number of steps including mergemaster. Matt Dillon noted that the DragonFly upgrading process is thus:
(update via cvsup)
cd /usr/src
make buildworld
make buildkernel KERNCONF=<kernel config file>
make installkernel KERNCONF=<kernel config file>
make installworld
make upgrade
The “make upgrade” step replaces mergemaster, and should be relatively faster. Credit for this goes to Sascha Wildner for asking for clarification on the dragonfly.bugs mailing list.
Getting a kernel crash dump
Matt Dillon posted this little note on how to get a kernel crash dump, which seems a good idea to archive – this may be useful again:
The best way is to get a kernel crash dump. If your swap area (typically ad0s1b) is large enough to accomodoate main memory, then ‘dumpon /dev/ad0s1b’ (and put ‘dumpdev=/dev/ad0s1b’ in your /etc/rc.conf), and then when it crashed and drops into DDB> type ‘panic’ and hit return twice and it should hopefully generate a crash dump.
For the crash dump to be really useful having the kernel.debug for the kernel that you are running is important. kernel.debug is built automatically when you buildkernel, but only the stripped ‘kernel’ version is actually installed. kernel.debug should still be sitting in the kernel build object directory which is usually
/usr/obj/usr/src/sys/<KERNELNAME>(if you used ‘buildkernel’ to build your kernel).
doc framework arrives
Hiten Pandya has created a doc framework similar to the FreeBSD docs, though not yet as deep. If you are itching to contribute, and don’t want to code, this is an excellent alternative.
Threading revived
An earlier conversation about threading here, which generated a bit of discussion, has a comment from a Sun employee who authored one of the cited papers. It seems strange to turn a comment into news, but it’s a nice resolution.
Container Shipping
Max Okumoto posted a link to a paper describing the Container Shipping I/O System, which may be similar to the XIO system proposed by Matt.