John Marino posted a possible ‘roadmap’ for DragonFly, now that we’re past the 3.6 release. The thread went on for some ways as it was discussed, including my crazy ideas. Notably, several suggested items have already been tackled – an iwn(4) upgrade has already happened, and an update to bmake, based on John’s vendor branch update instructions.
This is a little old, but Matthew Dillon noted the status of his Hammer2 work a little while ago. Some highlights: he’s intending Hammer2 to be usable on a single host by the time of the next DragonFly release (summer 2014), the Summer of Code project for compression has already been integrated, and he listed different parts of the work that may be interesting for anyone wanting to chip in.
Slightly related: Matt posted some Hammer2 comments on the DragonFly 3.6 release story on Slashdot that may be interesting. Don’t bother reading the other comments; they’ll make your eyeballs bleed.
Eitan Adler is the newest DragonFly committer; you may recognize his name from some previous commits added by others, where he synced up various work between the BSDs.
The 3.6 release of DragonFly is available now. I just put up those images last night, so if your favorite mirror doesn’t have it, give it a few hours.
For those updating from 3.4 to 3.6: there’s an ABI change, so you will have to upgrade all your packages. If you’re using pkgsrc and ready to switch to dports, now’s the time. If you already switched to dports on your 3.4 system, binary packages for 3.6 have already been built and you can use pkg to upgrade.
Also for upgrades from 3.4: You can pull the 3.6 source normally:
cd /usr/src
git fetch origin
git branch DragonFly_RELEASE_3_6 origin/DragonFly_RELEASE_3_6
git checkout DragonFly_RELEASE_3_6
But there’s a slight change needed for the 3.4 to 3.6 transition: an extra reboot in the build process:
# make buildworld && make buildkernel && make installkernel && make installworld && reboot
# make upgrade
This is all noted in /usr/src/UPDATING and in the release notes, but I’m taking no chances.
As noted on the kernel@ list, it’s tagged but not yet in image form.
Matthew Dillon did some more performance tuning for DragonFly. I’ll just pull a paragraph from the commit message, since that will have more impact than anything I say:
Improves fork/exec concurrency on monster of static binaries from 14200/sec to 55000/sec+. For dynamic binaries improve from around 2500/sec to 9000/sec or so (48 cores fork/exec’ing different dynamic binaries). For the same dynamic binary it’s more around 5000/sec or so.
“monster” is a 48-core machine used for testing.
DragonFly developer Francois Tigeot was interviewed on linuxfr.org. As you can probably guess from the names, it’s a French site, but don’t let that stop you if you’re an Anglophone.
The venerable (from 1979!) program, lpr, has been superseded by CUPS in many installations. Francois Tigeot suggested removing it, but it’s still directly usable in specific situations and easier to just shift out of the way. It’s staying, but it’s interesting to see how it still gets used.
Update: Predrag Punosevac has descriptions of the various tools involved.
I’m planning to branch DragonFly 3.6 this weekend. The actual release will come 2 weeks later. (Ignore what I wrote about a dports installer/image.)
Joris Giovannangeli, who worked on porting Capsicum to DragonFly for Summer of Code 2013, is continuing his work. He’s posted a detailed note on how to do capability management in a new way, with it retaining compatibility with FreeBSD’s capsicum implementation.
Matthew Dillon has gone after reducing contention and improving SMP performance as vigorously as possible, using dports builds on a 48-processor machine as a test. The machine’s building more than 1000 packages an hour, last I saw on IRC.
John Marino has updated ldns and drill to version 1.6.16.
There is a search plugin for Mozilla that searches DragonFly man pages. (Thanks Samuel Greear)
I got some PC-BSD items this week, too.
- Open Source Snapshot: GhostBSD.
- (Free)BSD and Dropbox.
- FreeBSD finally dumped rcs.
- FreeBSD’s igb(4) driver is updated to 2.4.0.
- FreeBSD’s binutils now has “support for assembling and disassembling Intel Random Number Generator extensions“.
- You can now use ‘athsurvey’ on AR5212 chipset ath(4) devices in FreeBSD.
- FreeBSD branched version 11.
- FreeBSD has changes contributed by… Microsoft?
- PC-BSD has added a GUI version of their Life Preserver application.
- PC-BSD has a new ‘pc-zmanager’ program for managing ZFS and disks.
- PC-BSD has branched version 10, I think.
- NetBSD runs on the iMX233/OLinuXino.
- OpenBSD replaced rc4 with ChaCha20. No, I’m not sure what that means. (via)
- OpenBSD now has the vmwpvs(4) driver, for VMWare paravirtualized SCSI.
- OpenBSD has imported Mesa 9.2.1 and Freetype 2.5.0.1.
- OpenBSD supports the AM335x EDMA3 controller.
- OpenBSD supports the RTL8106E and RTL8168G/8111G networking chipsets.
- Diffe-Hellman key size increased in OpenBSD. It’s from NIST Special Publication 800-57, which is unavailable as of this typing because of the stupid U.S. government shutdown.
The pkgsrc repository in git for DragonFly is currently frozen. This is because many people have switched over to dports, and also because it’s a lot of work to keep it functional. If you do want to pull newer pkgsrc material, use cvs and grab it from a NetBSD server.
As the message notes, don’t go switching to DragonFly-current right now, cause there’s a lot of new material in there and it may not be quite safe. (There’s an ABI change that will require all new builds of your ports, for instance.)
BSD Now episode 4 is out, though you have to look at the episodes page to find it right now. It has an interview with Devin Teske of FreeBSD. The usual other commentary isn’t there, probably to make room for Devin’s completely awesome beard.
Antonio Huete Jimenez has added a new rconfig script that automatically mirrors the installed disks with ccd(4). You don’t remember what to do with rconfig(8)? Automatically (and headlessly) install DragonFly, of course! There’s already other examples – they’re just shell scripts.
I put together a list of what I’m thinking could be in the next DragonFly release. Going by our regular schedule, that’s a bit more than a month off. Of note: Summer of Code material and defaulting to dports. Follow the thread for more.
ZFS was originally created at Sun and open sourced. Sun was absorbed by Oracle and stopped being open (or even really existing), so ZFS was taken up by several separate groups – FreeBSD and Illumos being two examples. OpenZFS has been announced, in part to provide common reference for other platforms that might implement it and probably to avoid capability fragmentation. It’s certainly a good idea.
(If I have my history wrong, please correct me.)
DragonFly has two included compilers – GCC 4.4, and GCC 4.7. Traditionally, we switch from one compiler to the other as default, and then replace the old one with a newer release, and so on.
Until recently, dports built almost exclusively using GCC 4.4. John Marino’s switching to GCC 4.7, for a variety of reasons he lists in a recent post to users@. An interesting point that he raises: GCC 4.4 won’t necessarily be replaced with a newer GCC, but perhaps clang?
