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)
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.
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).
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.
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!
The Fred Plush is apparently not as expensive to ship to the western hemisphere as initially expected – mail fred at ibotty.net for details – he can take PayPal now.
There’s pictures of a prototype of the plush DragonFly mascot. It’s missing one set of legs, but it’s otherwise accurate to what is being sold.
Tobias Florek has plush Freds – the dragonfly mascot for DragonFly. He’s in Europe, and it costs 16 Euros plus shipping – mail fred at ibotty.net. First come, first serve. If you live on the western side of the Atlantic, shipping costs make it prohibitive, so no luck for U.S. and Canada residents yet. (A U.S. distributor is being worked on.)
Joerg Sonnenberger added to the partion discussion:
The alternative for
/tmpis to have lots of swap and MFS for/tmp. This is often faster and avoids the lots of old crap in/tmpproblem.
In that case you should make/var/tmpits own partition. In general/tmpand/var/tmpas world writable locations should be on partitions
on there own. Making/usr/obja filesystem of its own has the advantage
of faster cleaning — just unmount,newfsand remount it :)
He also noted that having specific partitions for things like news spools (/news/) and mail stores (/var/spool/) is that it allows the blocksize to be set much smaller, which decreases wasted space when dealing with lots and lots of small files.
Matt Dillon responded to a question from David Cuthbert about partition letters; as part of that, he recommended this sort of partion layout:
If you have a large system, it is often a good idea to separate out oft-written directories such as
/usr/obj, and to make/tmplarger./var/tmpis usually made a softlink to/tmp. If you have or intend to process a lot of mail, making/varlarger is a good idea. If you are running a mail server it is often a good idea to make/var/spoolits own partition (and/var/mailits own partition if you are running a large mail pop service or have a lot of users). If you are running a large web server making/usr/local/wwwits own partition (the base of Apache’s site directory) is a good idea.
Matt Dillon’s changes to buildworld are done; the next make buildworld you do will take a bit longer, but you should be able to do make quickworld thereafter, which should be… quicker!
Be careful, for the time being, doing a make -j, though. If that fails, Matt asks:
In one xterm: make -j 4 buildworld >& /tmp/bw.out
In another xterm: tail -f /tmp/bw.out | fgrep ===
Save the results, and post a link to it in the kernel discussion group.
Matt Dillon has changed some settings on the DragonFly news server that mirrors the mailing list traffic; now, all posts ever made are visible.
For those readers who follow the emacs religion: Andreas Fuchs found that the emacs build expects /usr/lib/crtbegin.o, which does not exist on DragonFly. Rahul Siddharthan removed the mention of crtbegin.o from the makefile for emacs, and that seems to fix it.
Updated: Hiten Pandya added a port override for emacs, made by Aaron Malone. That solves it.
Since “MFC” (Merged From Current) is used to denote a feature brought from FreeBSD 5 to FreeBSD 4, what would these be? MF4? In any case, Hiten Pandya has a lot of FreeBSD 4 commits he may want to bring into DragonFly. How many? This many.
‘esmith’ pointed out that the FireFox NetBSD binary at mozilla.org is available for download and appears to work fine on DragonFly.
Chris Pressey, style(9) maven, is now a committer. This is probably due to the large quantity of cleanup patches he has already submitted. Congratulations, Chris.
