DragonFly kcollect(8) improvements
> DragonFly has a utility called kcollect(8), for gathering about the last day’s worth of kernel statistics. It recently gained some extra flags and details, and should work well if you want to collect stats in a low-impact way.
DragonFly BSD 5.6
> DragonFly version 5.6 brings an improved virtual memory system, updates to radeon and ttm, and performance improvements for HAMMER2.
dragonfly - Add initial FUSE support
> The basic code design comes from FreeBSD, but the code is written from scratch. It was just easier to write from scratch than trying to port sys/fs/fuse/* in FreeBSD for various reasons. Note that this is to implement FUSE API/ABI, but not to be compatible with FreeBSD implementation which contains FreeBSD specific sysctls, etc.
ufs - Expand time_t support to 48 bits
> Fix time overflow issues in the original 32-bit UFS code in two ways. First, treat the original 32-bit seconds fields as unsigned.Second, utilize the spare fields to expand these fields to 48 bits each. Retain the nanosecond-grain accuracy of the nsec fields.
DragonFly BSD 5.4
> DragonFly version 5.4 brings a new system compiler in GCC 8, improved NUMA support, a large of number network and virtual machine driver updates, and updates to video support.
TRIM by default
> The TRIM operation has been in DragonFly for some time, and it looks like most SSDs support it reliably, now – so it’s on by default.
exFAT support in DragonFly
> Tomohiro Kusumi has brought in exFAT support to DragonFly from FreeBSD. Useful for cross-platform drives when FAT32 isn’t enough, and NTFS brings its own problems.
socket: Limit the number of accepted sockets that kevent reports.
Neat little change to control latency.
DragonFly BSD 5.0
> Preliminary HAMMER2 support has been released into the wild as-of the 5.0 release. This support is considered EXPERIMENTAL and should generally not yet be used for production machines and important data.
Plus more of course.
Next DFly release will have an initial HAMMER2 implementation
> It WILL be considered experimental and won’t be an installer option yet. This initial release will only have single-image support operational plus basic features. It will have live dedup (for cp’s), compression, fast recovery, snapshot, and boot support out of the gate.
Lower VM_MAX_USER_ADDRESS to finalize work-around for Ryzen bug
A good summary of the bug affecting Ryzen CPUs.
New mechanism: kcollect
> There’s a new facility in DragonFly: kcollect(8). It holds automatically-collected kernel data for about the last day, and can output to gnuplot. Note the automatic collection part; your system will always be able to tell you about weirdness – assuming that weirdness extends to one of the features kcollect tracks.
ASLR, PIE, NX, and other capital letters
> NX bit capability was added to DragonFly. You can turn it on or off, and it’s off by default so it doesn’t cause any surprises.
I’d say the more people exposed to surprises the better because that’s how things get fixed, but the option is there now.
DragonFly BSD 4.8
> DragonFly version 4.8 brings EFI boot support in the installer, further speed improvements in the kernel, a new NVMe driver, a new eMMC driver, and Intel video driver updates.
NVME M.2 bandwidth tests
> I mostly test random-read bandwidth.
> These tests are with roughly 250GB devices.
> I recommend the Samsung 951 or 960 EVO.
Network performance comparison
DragonFly NUMA and cache-line locality
> The work that has gone into master the last two months has focused on the minutiae of the effect of cache line bounces in various subsystems. These are not contested locks per-say, instead they reflect performance on multi-socket systems when the same global might be hit by cpus on different sockets.
DragonFly kernel - Improve exec performance
> My guess is that multiple atomic ops degrade the instruction pipeline more than one would otherwise expect due to the multiple memory fences.
Many vkernel changes
UEFI booting in DragonFly installer
> The DragonFly installer now supports UEFI directly.