3 * Version 5.8.0 released xx February 2020
6 DragonFly version 5.8 brings ....
8 The details of all commits between the 5.6 and 5.8 branches are available in the associated commit messages for [5.8.0rc1](http://lists.dragonflybsd.org/pipermail/commits/2020-February/720529.html) and [5.8.0]().
12 * 'dsynth' written and added to base, making it more convenient for users to build their own binary repos for ports.
22 MD5 (dfly-x86_64-5.8.0_REL.img) =
23 MD5 (dfly-x86_64-5.8.0_REL.iso) =
24 MD5 (dfly-x86_64-5.8.0_REL.img.bz2) =
25 MD5 (dfly-x86_64-5.8.0_REL.iso.bz2) =
29 If you have an existing 5.x system and are running a generic kernel, the normal upgrade process, described below, will work.
31 Change your local `/usr/src` to 5.8:
35 git branch DragonFly_RELEASE_5_8 origin/DragonFly_RELEASE_5_8
36 git checkout DragonFly_RELEASE_5_8
39 And then rebuild: (in `/usr/src`)
51 `make initrd` is optional for systems with unencrypted disks, and has been possible for several releases; it's mentioned here for completeness. Look at the [initrd(7)](https://leaf.dragonflybsd.org/cgi/web-man?command=initrd§ion=ANY) man page for details on what it does.
53 Don't forget to upgrade your existing packages. 5.8 packages have already been built and are immediately available.
58 ## All other changes since prior release
62 * Fix a minor kernel stack disclosure bug and a few minor memory leaks.
66 * Scaling adjustments to improve performance on high-core-count machines. VM page lookup shortcuts, reduced contention when opening special devices like /dev/lpmap, reduced contention for open(... O_RDWR) calls, recoded namecache (mp, ncp) mount point lookup cache.
68 * Significantly reduce SMP contention in low-memory situation.
70 * Significantly improve page selection in the pageout scan. SMP work over the last few years marginalized the page selection algorithm, causing it to often select pages which were actually active. These changes significantly reduce the selection of such pages in favor of inactive pages. The result is the elimination of stuttering in applications like Chrome when system memory is tight.
72 * Do not shortcut VM faults of INACTIVE pages, require the long-path to ensure that the pages are moved to the ACTIVE queue first. This prevents premature pageout of heavily cached VM pages such as pages from highly-shared libraries.
74 * Improve pageout daemon pipe-lining by fixing some of the hysteresis code. Also improve the early-termination checks for the pageout daemon to stop paging more quickly when a large amount of memory is suddenly freed up.
76 * Fixed a rare wait*() deadlock.
78 * The vm.fault_quick sysctl now supports a burst count, but the default is still 1. We do not expect significant gains in performance until the APIs can be refactored all the way through to the low-level pmap code.
80 * Offset the stathz timer by 50% of the hz timer and change default frequency to (hz + 1). This is intended to reduce sampling errors that were causing phantom 'interrupt' time accumulation in system statistics.
82 * Refactor the random number generator in the kernel and also as supplied to userland to use per-cpu state. This gets rid of a significant source of SMP contention under heavy loads. Adjust the RDRAND driver to collect entropy on all CPUs, as well as to chain some of the entropy between CPUs. This ensures that no single CPU can accidentally become deficient.
84 * Reduce excessive rdrand harvesting. The rdrand harvesting rate was too high and causing high-core-count Zen CPUs to burn 2-3% of the system cpu at idle. The harvest size has been reduced to compensate. In addition, some of the entropy is chained between CPUs to ensure that entropy collection on one cpu is not only beneficial to that cpu.
86 * Fix a USB crash on quick plug/detach/plug/detach sequences.
88 * Add system call support for realpath(3), allowing the kernel to build the path for us instead of having to cycle tons of *stat() calls.
90 * Add system call support for getrandom(2). We already had a sysctl-based mechanism and a device mechanism.
94 * Improve nullfs mount/umount performance slightly.
96 * Improve TMPFS by not reserving an entire 16KB buffer cache buffer for files <= 8KB in size. Small files now eat 4KB, 8KB, or 12KB of physical memory before returning to multiples of 16KB.
98 * Reduce low-memory thrashing due to TMPFS. Normally TMPFS cycles pages through the VM page cache only and avoids flushing them to backing store (swap). In low-memory conditions, TMPFS now cycles dirtied pages through the buffer cache and bypasses the inactive queue upon completion to avoid interfering with memory pressure caused by processes.
100 * Enable write-clustering on tmpfs, improving paging performance when under memory pressure. Prior to this fix, physical I/O was limited to 16KB chunks.
106 * Further synchronization with linux
110 * sound/hda - use driver-specific taskqueue instead of per-cpu taskqueue.
114 * Binutils234 added, and 225 removed. 2.27 is still the default for now.
116 * pctrack (%rip sampler) - Improved symbol table translation.
118 * Sync math.h, sincos(), and other math support from OpenBSD.
120 * Synt <sys/ttydefaults.h> from FreeBSD to improve ports compatibility.
122 * Synchronize improvements made to fsck_msdosfs from FreeBSD.
126 * rcorder-visualize.sh imported from FreeBSD
128 * Sync ACPI with Intel's version 20200214
130 * Unbreak the EFI build when WORLD_LDVER is overridden.
133 ### Various tools have been upgraded in the base system:
135 * The build system is slowly being adapted to allow bootstrap utilities and tools to be compiled on a wide range of operating systems as part of a project to supply a 'build.sh' script to be able to build DragonFlyBSD on other OSs. This work is not yet complete.
144 * A full set of new binary packages has been built for 5.8, available through the pkg tool.