Matthew Dillon has provided some details about recent kernel work, along with a release forecast.
DSCHED_FQ was added to GENERIC, making it the default disk scheduling policy for master. You might want to refresh your memory of dsched and the fairq policy with some prior details and benchmarks.
Update: As Venkatesh Srinivas pointed out in the comments, adding DSCHED_FQ to GENERIC does not make it the default, but you no longer have to load the fairq module. Which raises the question, should fairq be the default?
The libevent library has been removed from the repository to ease the maintenance burden. There is some additional rationale in this tracker issue.
Matthew Dillon made a minor change to HAMMER that would help any future deduplication work. There’s also a deduplication code bounty out on the recently-updated Code Bounties page…
I’ve been NAS-shopping, and I’ve found that deduplication ability seems to add an extra zero on the end of a device’s price tag. It would be very nice for HAMMER.
Jan Lentfer has updated pf (and pflogd and ftp-proxy) in DragonFly to match what was in OpenBSD 4.1. Why this intermediate step? pf went through a lot of changes after OpenBSD 4.1, so this was easier than jumping right to the current version – which he plans next.
In any case, this was a huge and difficult job, with somewhere around 10,000 lines of code added, and very useful for DragonFly. Jan also managed to keep the DragonFly-specific features working, where “no state” is the default, along with features like fairq.
Sascha Wildner brought in FreeBSD’s stress2 stress testing suite. It’s an efficient way to crash your system. Look at the README to find out the fastest way there.
Matthew Dillon has added ALTQ to the GENERIC (and X86_64_GENERIC) kernels, since there’s no module version to add later. Make sure to include it in your custom configs, if desired.
(I always worry that I’ll miss some new kernel option when upgrading, but also don’t want to go over my whole kernel config just in case.)
Samuel J. Greear just updated his recent kqueue work with some fixes. If you’re running a recent version of DragonFly 2.7, you should update to catch what it fixes.
Matthew Dillon posted a warning about both Samuel Greear’s kqueue work and Alex Hornung’s LVM2 work. Both are now committed to DragonFly 2.7. These are dramatic (and useful!) changes, so some instability may happen for bleeding-edge users. His post does include some minor detail on what was touched.
Joe Talbott’s ported over iwn(4), which is the “driver for Intel 1000, 5100, 5150, and 6000 wifi chipsets.”
Sascha Wildner has set up $CCVER so that it can be used with ‘clangsvn’. If you install clang from svn into /usr/local, it’ll get picked up and used as the system compiler.
Alex Hornung has imported LVM2 from NetBSD, along with cryptsetup and dm. (Not dm(8), but devicemapper) LVM(8) stands for Logical Volume Management, and it makes storage management much easier; you may have encountered it on NetBSD or Linux. Those additional tools make it possible to encrypt volumes. Alex has published details on how to use it.
Also: Alex’s not-really-related-but-I -mistakenly-linked-to-it udev/libdevattr work.
Alex Hornung recently added mkinitrd(8), a tool for building a RAM disk early in the boot process. What’s it for? It’s needed to support more interesting bootable volumes, like LVM2, encrypted disks, or iscsi roots, all of which I’d like to see.
Matthew Dillon followed up on some comments from Sepherosa Ziehau about power management to describe a possible new way to manage power consumption; the project is up for grabs.
Matthew Dillon has added powerd(8), a daemon that adjusts CPU frequency based on activity; his initial report describes a whopping 40% power savings for server use.
Venkatesh is a new committer, and he’s already helping out with the MPSAFE work.
Matthew Dillon’s made changes again that require a full world and kernel rebuild, if you’re following the bleeding edge. There’s also discussion of the underlying principles of the token-based multiprocessor work he’s planning.
They may be low, but Sascha Wildner has documented them.
(I am making a joke that probably only makes sense to native English speakers. Sorry.)
If you’re running DragonFly 2.7, you will need to do a full rebuild on your next update. Matthew Dillon has made some changes because of his lwkt_token work. Making parts of DragonFly subsystems multi-processor safe should be much easier now.
