Matthew Dillon posted a summary of IBRS and IBPB support in DragonFly, and some numbers showing its impact in various configurations of options and CPUs.
It’s turned off and on by the sysctl machdep.isolated_user_pmap – and defaults to on for Intel CPUs. Buildworld tests show about a 4-5% performance hit, but that’s only one form of activity, measured, so there will surely be other effects.
Note that Spectre is not mitigated by this commit series, and as I understand it, cannot be realistically fixed in software.
Update: Matthew Dillon posted a summary to users@.
Update 2: He told us so.
If your DragonFly-current system was built between December 6th and 10th, you should upgrade. There’s a memory corruption bug that may bite you otherwise – but it only existed for those 4 days.
Syscons now holds 10 screens back, not 4. Every few years, I really, really need that.
Thanks to Rimvydas Jasinskas, it’s possible to ‘make NOSHARED=yes buildworld‘ and build a complete DragonFly world without shared libraries.
Welcome new DragonFly committer, Peeter Must!
Do you have a terabyte or more of RAM? You can boot DragonFly. In theory over 32 terabytes will require changes – but oh, to have such problems…
Noted from this commit: if you are routing over IPv6 directly to another address, the sysctl net.inet6.icmp6.nd6_onlink_ns_rfc4861 must be set to 1.
rdist has been removed. Does anyone mind? I don’t think so.
sys_pipe has been modified to avoid contention on DragonFly, which means better performance as tasks get handed between processors. See the commit message for details.
Matthew Dillon has added KVABIO, an API for avoiding the need to sync the TLB across all CPUs before continuing. What’s this mean? The more CPUs you are dealing with, the longer it takes to make sure all of them have the same cached view of the virtual memory. There’s a tradeoff – caching that view speeds up memory access, but the time cost of the synchronization can erase those benefits.
This API is now supported for NVMe and swap, HAMMER2, and tmpfs. Note that those last two links show a huge drop in IPI messaging. In the real world, this showed about a 5% improvement in performance for CPU-intensive work like complete synth builds. (Based on IRC conversations.)
This is a bugfix release, adding HAMMER2 support in initrd, among other cleanup commits. The tag message lists the changes. There’s no huge changes, but it’s only a bugfix release.