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.
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.
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.
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.
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.
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/src mounted 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.”
Now there’s NetBSD quarterly reports, too. Seems like reader-friendly BSD reports is a good idea, eh?
Matt Dillon’s posted about the namecache work he plans to be doing now; his summary is included here.
Continue reading “More namecache plans”
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.
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.)
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)
make buildkernel KERNCONF=<kernel config file>
make installkernel KERNCONF=<kernel config file>
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.
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).
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.
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.
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.
… And there’s already XIO material showing up. Matt Dillon reports doubled performance for CAPS IPC just by using the new XIO code.
Matt Dillon had what he described as a “brainfart for threaded VFS and data passing between threads” based on Alan Cox’s FreeBSD 5 PIPE work that he has been importing, leading to a new concept he calls “XIO”. It’s a long ramble, so I’m reprinting it wholesale:
Continue reading “Dillon Brainfart”
Chris Pressey, the newest committer, has been in a cleanup frenzy – he’s had 140 commits already, many of them cleanup of the existing source code. Go Chris!
Matt Dillon’s still missing some parts to the PIPE code in last night’s import from FreeBSD 5. Until this is fixed (hopefully by tomorrow) , the codebase will be somewhat unstable.
If you have a login to BSDNews (and you should – it’s free), you can customize your BSDNews page layout to include the news feed from this very site, listed as “DragonFly BSD”! Thanks to Wes Peters and Chris Coleman for setting that up.