In Other BSDs for 2017/04/01

Odd batch of links this week.

Your BSD-related fiction book of the week (year?  decade?) :’git commit murder‘ is out, set at a (fictional) BSD convention.

Make reading to the end great again

An article about a semctl(2) bug on DragonFly, “Make DragonFlyBSD great again!“, has popped up a few times, in comments here, some online forums, and in IRC.  I’m linking to it so that I can also say: read all the way to the end and notice the date.  The bug was fixed more than 6 months ago.  This is not a current security problem, but a (enjoyable) description of how someone in Poland documented it.

Nobody reads anything but headlines, geez.

Check your sshd_config setting

The last time SSH was updated in DragonFly, a DragonFly-specific customization, “PasswordAuthentication No”, was reverted to the default.  This meant password logins through SSH worked on DragonFly – which is normal for perhaps every other UNIX-ish operating system, but DragonFly has traditionally defaulted to requiring a key out-of-the-box.

It has been fixed, and you can change the setting back.  This only affected DragonFly-master from August through March.  4.6 users are unaffected.

AsiaBSDCon 2017 and DragonFly networking

Sepherosa Ziehau went to AsiaBSDCon 2017 and gave a talk on his work with DragonFly’s networking.  He’s published a report of his trip, which comes with a link to his paper, his presentation, and pictures of who he met.

Note that the PDF and the Powerpoint slides links are different; one is the paper, one is the talk.  The Powerpoint slides contain the benchmarks linked here in comments, previously.

Network performance comparison

In what can be described as perfect timing, Sepherosa Ziehau has produced a document comparing FreeBSD, several different Linux kernels, and DragonFly, for networking.  He’s presenting it in the afternoon track of Day 3 for AsiaBSDCon 2017, starting later this week.

He’s published a snippet as a PDF (via), which includes some graphs.    The one place Linux outperforms DragonFly seems to be linked to the Linux version of the network card driver being able to access more hardware – so DragonFly should be comparable or better there too, once the powers-of-2 problem is solved.  (This already came up in comments to a post last week.)

Those graphs are available standalone, too, which means it’s easier to see the fantastic performance for latency – see the thin blue line – that seems exclusive to DragonFly.   That, if anything, is the real takeaway; that DragonFly’s model has benefits not just to plain speed but to the system’s responsiveness under load.  “My CPU is maxed out cause I’m doing a lot of work but I hardly notice” is a common comment over the past few years – and now we can see that for network performance, too.

Kernel modules in rc.conf, not loader.conf

The longstanding practice is to load kernel modules in loader.conf, as early as possible.  That’s good, for anything that needs them.

However, that also can be bad.  Your machine can be unbootable if there’s a problem with a module or loader.conf is messed up, since that file is read long before the startup process finishes.  Enter the new alternative: modules can be loaded in rc.conf, and the only loader.conf modules needed are those required by / to mount.