If you’re watching for a certain event, dmesg(8) on DragonFly now has a -f flag that will display new output as it’s logged, sort of like ‘tail -f’.
While looking for a different bug, Matthew Dillon made some changes in the way memory usage is totaled in DragonFly. You’ll see this most when using ‘systat -vm 1’ or ‘vmstat’, probably.
John Marino has accomplished the major task of updating gdb/kgdb, to version 7.6.1 for DragonFly.
John Marino has put in a large patch to DragonFly 3.5, updating all sorts of language-related items. As he warns, you will need a full buildworld/buildkernel in a specific order to update. On the plus side, you can now probably use your native language for nvi and for git.
Matthew Dillon’s committed the work by Daniel Flores on Hammer 2 compression and Mihai Carabas’s vkernel hardware support – both Summer of Code projects. There’s a good amount of detail in the commit messages describing the work and what it changed; I expect more Summer of Code work to be getting committed…
Note: you’ll want to do a full update.
It’s now possible to use systat(1) to see per-connection speeds and pftop status, thanks to Matthew Dillon.
Antonio Huete Jimenez has committed his work on “dirfs”, a filesystem that lets you mount directories from your host machine within the running vkernel environment. It’s a sort of shared folders for vkernels. See the commit message for usage details.
Francois Tigeot has ported TTM to DragonFly from FreeBSD and I think a bit from OpenBSD. All this work has led to an update in the driver porting notes.
killall -T will now kill all processes associated with the current tty, except parents of the killall process itself. It’s a shortcut to “kill all these runaway items I started by accident”.
Apparently Sepherosa Ziehau has been improving DragonFly’s route table performance under extremely heavy load. (e.g. run efficiently; don’t die) I don’t have a definitive commit message to point at, but looking at his recent commits are a good start.
Thanks to Sepherosa Ziehau, Netperf will now calculate Jain’s fairness index. That is a formula that is both interesting and unfamiliar to me. Not that I understand it, of course – it’s just because it has a neat name.
Because Sepherosa Ziehau changed mbstat, anyone on bleeding-edge DragonFly will need to rebuild world, or else netstat will become confused.
There’s support for a new timer mechanism in DragonFly 3.5, for x86_64 users: TSC. Sepherosa Ziehau added support and has described how to disable it – it’s on by default. It speeds up some very basic (and frequently used) system calls.
Sepherosa Ziehau has added a sort of queuing to altq, where TCP ACKs get higher priority. You may have seen this in any number of pf configurations, where returning data is given its own queue to keep high-volume transfers from slowing themselves down because the acknowledgements can’t get back to the sender. His commit has statistics on the performance improvement. He also added a ‘netrate‘ tool for calculating results from using netperf.
If you’re using DragonFly 3.5, your next update should be a full buildworld. That’s because John Marino is adding the framework for symbol versioning. This means that individual library (.so) files will internally keep track of newer and older symbols. The current behavior is to name the files differently, which can cause problems if an expected, linked file is missing – even if the needed symbols are present. The basic framework is being added now, and will be turned on all at once, to minimize the number of times that full buildworld is needed.
The ‘amd64’ specific parts of kernel architecture have been removed, since x86_64 covers all that. As a side effect of other changes, John Marino warns that upgrading DragonFly from a version older than 3.4, to a version newer than 3.4, will require an intermediate step of going to 3.4 first. e.g. If your machine is a DragonFly 3.0 system, you will need to upgrade to 3.4 before moving to, say, 3.6 once it is out. This won’t matter for some months, since the next release is months off.
SO_REUSEPORT has been added and turned on by Sepherosa Ziehau. This is an implementation of a feature found in the Linux kernel. Check the very lengthy commit message for a description of what it does.
John Marino has committed updates for libmpfr, diff utils, grep, and libexpat/libbsdxml. Libmpfr, the one item that I suspect doesn’t spring instantly to mind, is a library for floating-point computation.
Peter Avalos has updated ftp in DragonFly. It’s actually tnftp, which is the same base ftp client used in FreeBSD/NetBSD/Mac OS X/etc. It’s the 20121224 version, and the 3.4 release branch has it too.