DragonFly version 6.2 is the next step in the 6.x release series. This version has hardware support for type-2 hypervisors with NVMM, an amdgpu driver, the experimental ability to remote-mount HAMMER2 volumes, and many other changes.
Security Issues
Recommend updating all systems, a locally-exploitable kernel vulnerability was fixed for this release.
Kernel
Many different changes were made for NVMM support; check the release tag for a full list
Implement POLLHUP for pipes and filesystem FIFOs (improve dports portability)
amdtemp - Fix family 0x17 support, add family 0x19 support
kernel - Add DIOCGMEDIASIZE and DIOCGSECTORSIZE
edk2: Sync our TianoCore EDK II headers with the edk2-stable202105 tag
Import OpenPAM Tabebuia
Import passwdqc 2.0.2
Remove a.out support
Fix posix_fallocate()
Fix indefinite blocking in exit when draining controlling tty
Fix select()/kqueue() bug related to writability of a closed pipe()
Make getpeerid() work with socketpair() descriptors
Fix rman ref count races against sysctl -a dumps
Be more friendly to latency when running as a guest OS under a VM
Remove terminal PTE pv_entry tracking entirely, moving more of the VM system to extent-based recording. This also means MAP_VPAGETABLE had to be removed and userland vkernel support had to be removed. NVMM under QEMU should now be used for virtualizing DFly. This saves an enormous amount of kernel memory when running services that share large amounts of memory across large numbers of distinct processes.
Various npx (floating point state) cleanups and fixes
Offset the per-cpu scheduler clock interrupts to avoid waking up all cpu cores simultaneously. Improves idle conditions.
Improve vfs.timestamp_precision defaults when running under VMs
Improve TSC concurrency tests when running under VMs
Major improvements to the paging algorithms. The system now does a much, much better job selecting pages for swap, significantly improving the user experience with browsers on low-memory systems.
The default maxvnodes calculation has been reduced, reducing kernel memory use. Caching too many vnodes can be detrimental, particularly since H2 caches block data at the raw block device level too (helps with compression / decompression data caching).
Filesystems
multiple checks added to fdisk
growfs support improved in HAMMER2
usr.sbin/fstyp: Add BeFS support
makefs: Add FAT support (taken from FreeBSD)
hammer2 - Fix excessive memory use during bulkfree.
hammer2 - Fix H2 BOOT support when the BOOT pfs is recreated.
hammer2 - Fix freemap accounting that could lead to incorrect filesystem full situations.
hammer2 - Fix I/O error panic during bulkfree.
hammer2 - Fix panic on illegal renames made possible by nullfs mounts
hammer2 - Add growfs support
hammer2 - Better CPU localization user vs XOP threads, improving performance
ext2fs - Various cleanups
ext2fs - Various fixes
msdosfs - Various fixes
Networking
ipfw3nat: ICMP packets NAT using icmp idport reuse.
Add SIOCGHWADDR support.
Graphics
drm/i915: Enable WhiskeyLake GPUs
drm/i915: Hack around crashes due to ring timeouts during startup.
drm/amd: amdgpu support added through (roughly) the 3400G APU. Thanks to Sergey Zigachev for lighting a fire under this.
drm/amd: Increase stolen memory from 9MB to 64MB to fix amdgpu crash with 4K monitor attached