Discussion continues on journaling, soft updates, and background fsck. Jeroen van Gelderen linked to “Design Evolution of the EROS Single-Level Store” while talking about journaling meta-data, and Matt Dillon mentioned that he and David Rhodus are putting together a kernel API for journaling, so that some ambitious person can build it. Matt Dillon also pointed out he favors journaling because softupdates is a complex beast, and modern IDE drives are somewhat undependable when it comes to the way they lay down data. As an added bonus, Diego Calleja GarcĂa linked to a description of reiser4 which talks about journaling, along with some freaky illustrations.
Joerg Sonnenberger wrote up a proposal for background fsck, which he posted to the kernel discussion group. I”m pasting it wholesale.
(Matt Dillon has indicated he would prefer a journaling filesystem.)
Continue reading “Background fsck vs. journaling”
Matt Dillon noticed in a thread on the freebsd-hackers mailing list (see here for original post, and look for articles following that have [CHECKER] in the subject) that the M_NOWAIT command is being used incorrectly in a number of places, both in DragonFly and in FreeBSD.
I’m just pasting the rest of his post, as it’s not something that boils down easily:
Continue reading “M_NOWAIT NOGOOD”
As part of a discussion about internationalization, Matt Dillon mentioned he plans to finish IPC this weekend as it would be a useful implementation method. He also mentioned offhand that the first release of DragonFly could be in June/July.
Jean-Marc Zucconi benchmarked FreeBSD 4.9-R, 5.1-R, 5.2-R and DragonFly on a multiprocessor system, and posted the large quantity of data this generated. It’s mashed into a table here:
(updated with better results for 5.2; ACPI was generating so many interrupts it was slowing his system.)
(see end of entry for his notes)
Continue reading “Benches being marked”
Bernhard Valenti found he had to put “set hw.ata.ata_dma=0
” in the boot loader to get his 645DX-based motherboard ATA working. Jeroen Ketema also found that write caching had to be off: “set hw.ata.wc=0
“
Because of the GCC2/GCC3 work (which, incidentally, will allow other compilers like TenDRA to be used in system compilation), do a “make upgrade” after your next installworld. This will clean up now-stale compiler files, plus update files in rc.d and so on.
Following up on recent discussion, ibotty listed ICU as another internationalization alternative.
David Rhodus and Matt Dillon are getting GCC2 and GCC3 into the base system today; updating your source during the next 24 hours may bring you an unstable version.
Ryan Dooley brought up The CITRUS Project as a way to assist internationalization in DragonFly.
According to this benchmark, linked to by Xin LI, there’s file descriptor allocation code in FreeBSD 5 that may be worth the effort to port.
This is the 200th post here – neat! I’m averaging just under 1.5 posts per day, which is good: healthy posting, healthy project.
In a discussion about benchmarks, it was noted that /etc/malloc.conf
changes can help benchmarks tremendously. Rahul Siddharthan suggested ‘/etc/malloc.conf -> H' and Jeremy Messenger suggested '
/etc/malloc.conf -> aj
‘
Also, Matt Dillon made a number of suggestions on what to check when benchmarking DragonFly vs. FreeBSD (4 or 5)
Matt Dillon quote follows:
Continue reading “Benchmark setups”
Simon ‘corecode’ Schubert pointed out prelinking should be mentioned on the 2003 report; here’s the text that will soon show up on that report:
Prelinking
Prelinking capability was added to DragonFly by Simon ‘corecode’ Schubert, which allows faster loading of applications that use a large number of dynamic libraries while running, like Qt/KDE. It is not currently hooked into the system or any port building process.
Matt Dillon fixed an apparently long-term problem in OpenSSH where a server can hang because it has a lot of data to send, but no immediate resources to do it with.
Reproduce it like so:
limit filesize 64k
ssh remotebox -n cat /usr/share/dict/words | cat > junkfile
The IBM ServeRAID controller is now supported, thanks to TONETANI Tomokazu. That would be the “ips” device.
David Rhodus has the journaling filesystem code from Apple located in vfs_journal.c and vfs_journal.h. He estimate it’d take 2-3 (long) days of work to get it worked into the system, which would mean no more long fscks after unlcean shutdowns. Any takers? Everyone would love you for it.
Eirik Nygaard was looking for something to do; Max Laier pointed out removal of #if defined(__FreeBSD__) / #if __FreeBSD_version > 5
would help, and Jeffrey Hsu indicated backporting the UFS2 size extensions would also be good.
I’ll quote my own followup to say there’s plenty of non-coding tasks available, too.
The main DragonFly website now has an additional mirror listed (bottom of page) for daily snapshots, and Matt Dillon’s put up slides from his talk at BAFUG in a new Docs section.
Port-fixing fiend Joerg Sonnenberger has committed a dfports override for OpenOffice.
David Rhodus imported Hyperthreading changes from FreeBSD which allow you to automatically use Hyperthreading on supported CPUs with just the regular multiprocessor options turned on in your kernel; e.g. options SMP, options APIC_IO
.
However, the DragonFly version has no idling loops in it to reduce CPU resource contention. Because of the way DragonFly schedules per-CPU/sends IPI messages, there’s no performance issue caused by multiple CPUS HLTing. Already, a benefit.