Two recent changes in the way virtual kernels are constructed should make a speed difference. The startup time is reduced (and more memory can be given to the vkernel), and the overall running speed should be quicker, too.
DragonFly’s version of pf (corresponding with OpenBSD’s 4.2 version) is now multiprocessor safe, to match the network stack. pf itself isn’t using multiple processors; it’s just able to work without causing problems in an otherwise MPSAFE environment, thanks again to Jan Lentfer. Note that there’s one minor caveat.
Swapoff has been added to DragonFly. This was a potential Summer of Code project, and also happened to have a bounty offered for it. $300 goes to Ilya Dryomov. If money for code like this interests you, check the Code Bounties page for more projects…
Dear universe: improved interrupt routing, or deduplication in HAMMER would make me happy. I’m not picky.
Due to changes in networking, most of the wireless drivers in 2.7 stopped working a few days ago. Joe Talbott’s “brought back” iwi, ral, and wi. If you’re running 2.7 and using one of those drivers, it should be safe, relatively, to upgrade to a newer 2.7.
A little work has snowballed into even more of the network systems in DragonFly being pulled apart in order to get rid of the Giant Lock. It may delay the 2.8 release by a week or two, but it’s already paying dividends, such as NFSv3 now performing at maximum physically possible speeds on gigabit Ethernet.
(I ran out of alliterative words, sorry.) Venkatesh Srinivas has committed his work on memory allocation; his commit message has details. He’s kindly provided a link to the article that inspired the per-thread magazine work. He’s also provided graphs to show comparative performance benefits of his new memory allocator on DragonFly and on FreeBSD.
Jan Lentfer has now updated pf in DragonFly to version 4.2, on top of his earlier work to get to 4.1. This upgrade apparently doubles speed from 4.1, plus he’s brought in some other, later fixes. Thanks for doing a superhuman amount of work, Jan!
Well, technically not ripped out, just serialized roughly. This means if you update your DragonFly 2.7 machine in the next few days, the wireless drivers may not work, except for (I think) ath(4). They should return, better, by next week.
Apparently the recently committed support for Areca RAID cards came with some help directly from Areca, facilitated by Venkatesh Srinivas. Perhaps next time you’re searching for a RAID card, consider Areca in light of the effort they are willing to contribute for an open-source project…
David BÉRARD has an patch for TCP-MD5 support; if this interests you, please test.
A familiar procedure in any open source project: irritation causes improvement. In this case, the Forth-based boot loader irritated Matthew Dillon into writing a new replacement C-based one. (See the commit too, and it may slightly affect the upgrade process for 2.7 users.)
All these recent locking changes seem to be adding up to a much more responsive system, incidentally.
There’s a whole lot of options for bmake, used in pkgsrc, and they aren’t immediately obvious. I’ve linked to a reference before, but it’s no longer at that location. However, I found a new link!
As I found out directly, upgrading from pkgsrc version 2010Q1 to 2010Q2 has a minor quirk: binary packages for 2010Q2 will refuse to install with an older version of pkg_install. Rebuild pkgtools/pkg_install to the 2010Q2 version and the problem will go away.
Full buildworlds again, as there’s more commits that make it necessary. If you’re running 2.7, you should probably just plan on using buildworld, and not quickworld for rebuilding.
System data structures have changed again, so make sure your next rebuild is a full buildworld/buildkernel if you’re running 2.7. There’s been a lot of changes to pull more and more out from under the Giant Lock.
happened to notice that recent libkinfo changes broke sysutils/estd. It’s fixed by rebuilding the program, though this may affect a few other packages. This only affects people running bleeding-edge DragonFly 2.7.
All three of the Google Summer of Code Projects for DragonFly are complete and passed! The code for each will show up at the Google-hosted project page in the next week or so. The original proposals for Alex Hornung’s device mapper/LVM, Samuel Greear’s kevent/select/pool work, and David Shao’s GEM/KMS porting are still there on the Google project page for DragonFly.
Sascha Wildner has brought in arcmsr(4), an Areca RAID controller driver. Please try it if you have the right hardware.
Thanks to the efforts of Venkatesh Srinivas, tmpfs file systems on DragonFly can now withstand fsstress testing. Thanks, Venkatesh!
(One of the benefits of posting about people’s work is that the names are fun to type.)