Matthew Dillon has been doing a significant amount of work on cache lines, and I haven’t been linking to it because it’s hard to point at single commits with such a technical subject. However, he’s summarized it all, along with news on NUMA handling and vkernel improvements.
Matthew Dillon moved some locks and exec() performance jumped up significantly – 50% or more. This is a single system call, so I don’t know how much translates through to real performance change, but it’s interesting to see.
There’s the DragonFly syntax for loader hints, and there’s the FreeBSD syntax. If you happen to use the FreeBSD syntax on DragonFly, it’ll still work.
Thanks to Imre Vadasz, the virtio driver in DragonFly now has PCI MSI-X support. This should help with virtual performance, though I say that on principle, not with any actual numbers to back it up.
Here’s one of the reasons to have your own permanent server: The New York Times has a daily feature called, not surprisingly, “The Daily“. It’s a short 15-20 minute news segment, ready by 6 AM. It’s available through Google Play Music or iTunes, but I leave for work by 6:15, and I don’t want to use up cell data downloading something that should arrive on my phone just before I leave the house. Of course, there’s no obvious way to tell Google Play, “I know it’s there; go get it right now”. I don’t know the iPhone experience, but I imagine it’s the same. I want to download on my time, not on Google or Apple’s schedule.
Luckily, there’s an RSS feed for this podcast. That, plus this simple script on my DragonFly system, means I can pull it down whenever I’m ready:
fetch -o – http://feeds.podtrac.com/zKq6WZZLTlbM | grep enclosure | cut -d ‘”‘ -f2 | xargs fetch -m
So, it’s a matter of running that script, and syncing off my own local storage, on my own schedule. FolderSync Lite will happily sync back to my phone using sftp.
Are you on DragonFly-master? Are you using a Realtek network device? Sepherosa Ziehau has an update he would like you to test.
There was some issues with the DPorts repo, so you may need to reset your local copy. This only applies if you pulled down a copy in the last 48 hours or so. (update: or less, based on John’s comment) Otherwise, you are fine.
Rimvydas Jasinskas posted an extended description of what’s happening with dports. There’s a significant xorg reformatting coming in ports, which is going to be absorbed into dports, but it may take some time. There’s also an odd loss of commit rights for John Marino, who commits (frequently!) to both DragonFly and FreeBSD. (His followup) This all translates to some upcoming transition time for dports to accommodate these changes.
Note that if you are using dports binaries, especially on DragonFly 4.6 release, this won’t really affect you; the way dports is set up, binary sets always work. It is interesting to hear about future work, in any case.
This recent CPU frequency change will make your Skylake-using laptop much easier to deal with. Apparently this is a common problem with Skylake? (links via EFNet #dragonflybsd)
The vkernel(7) code has been going through a lot of changes, and instead of linking to the many smaller commits, I’ll point at Matthew Dillon’s latest change since it’s detailed. What’s the performance difference? I don’t know yet if this is for performance or for stability.
Apparently there’s a quirk to the way Ricoh cameras format memory cards that made them unreadable on DragonFly. They’re readable now. I link this not because I think it affects many people, but because it’s such a strangely specific problem.
A note from Sepherosa Ziehau explains how you can check for Intel Turbo Boost effect on DragonFly, or at least see your current frequency if you’re using AMD.
The question of using vkernels(7) in a manner similar to jails pops up time and again, and the answer is, unsurprisingly, “it depends“. It looks like when you want to isolate greedy programs, vkernels are the way to go.
The DragonFly installer now supports UEFI directly. There’s a uefi(8) man page now, and there’s even rconfig support, though not enough people realize how awesome rconfig(8) can be.
The ncv(4), nsp(4), and stg(4) drivers are now removed from DragonFly. So is the portal file system. Also, though not a removal, vm.swapcache.use_chflags now defaults to 0. Does this affect you? Almost certainly not! I feel compelled to point it out, though, just in case there’s that one person who didn’t want a surprise.
The i915 driver has been updated to match Linux 4.6 – this is of most benefit to the owners of newest hardware, but the commit message lists what has changed, for owners of Haswell series GPUs and later.
If you are on DragonFly -master, now is a good time to update. Matthew Dillon has been changing how DragonFly handles locking and memory use, with differences in the vmstat structure and page coloring, some memory settings, and many other locking changes. I am only linking to a few examples. If you don’t want to dig through those links for performance numbers, he summarized his changes and their effects in a post to users@.
That’s Non-Uniform Memory Access, to disambiguate. Matthew Dillon’s changing how memory is allocated in DragonFly. NUMA is been a long-discussed and complex topic for a long time, so I will point at the initial commits and call it “a developing situation”.
If you have a NVMe-capable EFI BIOS on your machine, you should be able to safely install DragonFly, using these instructions from Matthew Dillon. It’s not part of the installer, yet.
Matthew Dillon has made some changes to DragonFly’s swap handling, and his explanation notes that the theoretical max swap space is now 32 terabytes. He even had to change field sizes to accommodate the new, bigger numbers.