… And there’s already XIO material showing up. Matt Dillon reports doubled performance for CAPS IPC just by using the new XIO code.
Month: March 2004
Dillon Brainfart
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:
More…
Chris Cleans up
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!
Build broken
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.
Now on BSDNews
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.
Plush in the West
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.
More deperlizing
Dheeraj Reddy submitted (and David Rhodus committed) C versions of which, whereis, makewhatis, and catman, removing yet another Perl dependency.
Fred pictures
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.
In Europe with 16EUR to spare?
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.)
Reroute
Andre Nathan submitted (and Matt Dillon committed) a change for route from NetBSD/OpenBSD that a ‘route show‘ command, which performs nearly the same as netstat -rn. Matt Dillon also added a -w option so that all columns would print full size.
More partition thoughts
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.
Partition sizing
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.
Buildworld done; quickworld possible
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.
Unstable day
Matt Dillon posted that he is doing major work on buildworld code; you may want to update tomorrow and not today, if it was on your agenda. Following is his description of his work plans:
More…
Everything ever
Matt Dillon has changed some settings on the DragonFly news server that mirrors the mailing list traffic; now, all posts ever made are visible.
Getting emacs working
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.
Less jerky, more nice
Among other source changes today, Matt Dillon made a change to the way priority is set for new processes, which should fix what he calls the ‘jerky X pointer’ problem. He also fixed the systimer in such a way that nice now actually works. The result is that your DragonFly system should now be even more responsive under heavy load.
FreeBSD 4 changes since last June
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.
Firepig, quickly
‘esmith’ pointed out that the FireFox NetBSD binary at mozilla.org is available for download and appears to work fine on DragonFly.
New committer: Chris Pressey (style)
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.
New ISO release, now with USB
There’s a new ‘known good’ ISO on the DragonFly download page (2004-3-17b) that includes, among other things, a fixed OpenSSL and a number of USB improvements – there’s a /README.USB file now.
NFS Perfomance on Gigabit
Matt Dillon posted some numbers on performance of NFS over Gigabit Ethernet – using TCP, he was able to hit 80-something megabytes per second right off the bat, and saw nearly 90 using UDP. This improvement stems from Hiten Pandya’s work on the em driver and NFS block size changes.
AMD64 and P4 comparison
As seen on Daemonnews, The Jem Report has a comparison of FreeBSD 5 on an AMD64 machine and a Pentium 4 machine. FreeBSD 5 performance is not directly comparable to DragonFly, but the architecture comparison is useful.
Interface renaming complete
Hiten Pandya has finished the if_xname work; you can now do:
# ifconfig fxp0 name 'LAN'
# ifconfig fxp1 name 'WAN'
And then refer to these network interfaces by the ‘LAN’ and ‘WAN’ names. These are aliases, not changed names, so the original names – fxp0 and fxp1 in this example – will still exist.
The Erlang Way
While talking about his (many, many) code cleanups, Chris Pressey pointed at the Erlang Programming Rules as a good guideline for programming style.
AsiaBSDCon paper
Shadow Committer Jeffrey Hsu is presenting a paper on DragonFly at AsiaBSDCon, and his paper can be downloaded now.
I4B broke
Are you using I4B/sppp? Don’t upgrade, as it’s the one interface that doesn’t support Berkley Packet Filters (BPF) and is temporarily broken while Joerg Sonnenberger works on the networking API. Contact Joerg if you are so lucky as to be affected by this.
Fortunes
Emiel Kollof is working on a DragonFly fortunes file. If you plan to say something clever involving DragonFly, do it where he can hear you.
More Perl removed
Dheeraj Reddy submitted (and Eirik Nygaard committed) a patch taken from FreeBSD that removes Perl from mergemaster.
Matt Dillon interviewed on OSNews
As seen on Daemonnews, OSNews has an interview with Matt Dillon about DragonFly.
Valgrind available
Eirik Nygaard has added a dfport for devel/valgrind, based on Doug Rabson’s FreeBSD port.
Matt makes plans
Matt Dillon pointed out that we could have at least a binary packaging system relatively easily, now:
More…
Goals for 1.0
Matt Dillon has posted his list of personal tasks to finish before the 1.0 release in June of this year.
More…
IRC stats
‘Till’ has set up some interesting stats taken from the IRC channel #dragonflybsd on EFNet.
More NFS improvements
Matt Dillon and Hiten Pandya have changed NFS to default to the largest block size possible (32k), which should speed up all higher-bandwidth NFS connections, but especially NFSv3 via TCP.
NFS faster
Matt Dillon has committed code that increases the default socket buffer for NFS to
65535 bytes. This can be changed with the sysctl ‘vfs.nfs.soreserve’. This should improve performance.
DragonFly at AsiaBSDCon
The USENIX AsiaBSDCon is happening March 13th and 14th. Jeffrey Hsu, who has been working on DragonFly networking (with a good number of commits lately) will be giving a talk titled: “Concepts, Theory, and Implementation of DragonflyBSD”.
CAPS IPC started
Matt Dillon has placed inital IPC support, using a message structure that is described in the extended entry here, taken from his commit message:
More…
Perl debased
In an ongoing discussion of Chris Pressey’s proposed config(8) changes, Matt Dillon said Perl should be removed from the base system, at some point.
Cleaning out
Perl is no longer required for building a i386 kernel, thanks to Eirik Nygaard. It may also not be required for other platforms, but it’s only been tested on i386 as of right now.
Config(8) changes
Chris Pressey posted his thoughts on config(8). His summary on his plans are thus: “Basically: config(8) shouldn’t let you configure a kernel that won’t build. It should detect that it won’t build, tell you why, and stop immediately without wasting your time with a make session that is doomed to failure.“
ProPolice and gcc3
If you update your sources and compile using gcc3, it now includes stack smashing protection, committed by Joerg Sonnenberger. Compiling using gcc2 already includes that protection.
New image
There is a new ‘known good’ ISO file on the DragonFly site download page. This newer image includes the recently mentioned support for more partitions per disk.
It gets better, later
Joerg Sonnenberger has added an infrastructure for contrib/. Previously, in FreeBSD, 3rd-party software in the base installation would be modified from its original state to work with FreeBSD 4 (and hence DragonFly). These modifications are then repeated with each new version of the third-party software. (gcc 2.95 -> gcc 3.x, for instance.) The “new and improved” method keeps the original source for the 3rd-party software and keeps all DragonFly-specific changes in separate patch files. This is harder to set up, but better in the long run. This methodology has already been used for certain software like gcc and binutils.
Up and down
For those of you who multiboot or like carving their disk to bits, Matt Dillon has doubled the possible partitions (8 -> 16) and decreased the number of slices possible. (32 -> 16) You will need to rebuild world and kernel, and install the new boot code with disklabel -B in order to take advantage of this.
Live CD even more live?
Apparently coming soon: a ‘live’ DragonFly CD similar to the LiveBSD CDROM.
Typesplitting
Joerg Sonnenberger has proposed breaking apart sys/types.h into two files – one that follows POSIX, and the other that does not. His proposal is pasted here.
More…
Packaging discussion log
Included in this entry is a log from #dragonflybsd where several folks talk about the packaging system proposal – I’ve cleaned it up a bit and I present it for your perusal.
More…
New token code arrives
Matt Dillon doesn’t let a small thing like physical pain stop him: he’s committed his newtoken code as mentioned here earlier. Now is a good time to update and rebuild, to try it out. The commit message follows:
More…