There’s been plenty of discussion about Summer of Code projects on the mailing lists. One conversation about “Implementing a mirror target for the device mapper” led to a longer description from Venkatesh Srinivas about mirroring and how he’s looked at implementation.
Branch tomorrow, release in 2 weeks. There’s a ton of new features for 2.10, so this will be a fun release. I’m trying to get pkgsrc-2011Q1 packages built for 2.10 ahead of time, too.
Welcome John Marino, who has been working on some rather difficult updates for gcc and other toolchain items.
Matthew Dillon made some changes to swapcache(8). Swapcache is now able to cache a lot more data, and the result is that general disk performance for _all_ disks is accelerated by an included SSD using swapcache. Performance previously restricted to all-SSD systems or serious RAID setups is now possible with much less investment.
In addition to that, the long-term wear on the SSD appears to be less of a problem than expected.
I already noted that the quarterly release is out, but the pkgsrc-2011Q1 release announcement is available now. There’s good reasons to link to it – the list of updated packages, new packages, and credits for the work people have been doing. Here’s the part I really want to pick out:
We’re aiming to make this the last branch to support non-DESTDIR packages. We have almost finished the transition to DESTDIR installation, where a staging directory is used to make a binary package, which is then managed by the pkg_install tools.
The reason I’m highlighting this is: it’s good news! One of the long-term complaints with pkgsrc is that the upgrade process is painful. If you try to build an upgrade and the build processfails after uninstalling the existing package, not only are you not getting the upgrade, but you’ve lost the existing package. Binary packages for download helps with this (and generally is faster), but only so many packages can be built separately and made available for download.
Building a package separately and then installing from there removes these issues. No binary redistribution issues, actual downtime is minimal, and the package is known to work when an upgrade happens. This removes most of the problems I’ve heard raised about pkgsrc over the years.
Sascha Wildner has moved gcc in DragonFly to a slightly newer version: 4.4.5. It mostly seems to make things easier to compile, going by the reports I’ve heard. This is the version that will be in DragonFly 2.10.
It’s tagged, though there’s no release announcement yet. Working on building binaries starting tonight…
It’s Dragonfly, and it sounds very similar to swapcache(8). Coincidence? Maybe. (via bodie on EFNet #dragonfly IRC)
Enabling the vfs.hammer.double_buffer=1 sysctl will greatly improve Hammer performance when you’ve exceeded your memory cache (at a possible slight penalty when you have not) and also speed things up when using live deduplication.
Update: Venkatesh Srinivas says:
“double_buffer makes sense when: 1) you want all CRCs to be checked on reads. 2) you’re running live dedup and care about dedup performance rather than say read-heavy performance; 3) you have swapcache but are often running into the vnode limit in what you can cache.”
So, not always useful.
Sascha Wildner has updated the default version of binutils in DragonFly from 2.17 to 2.21. You’ll want to do a full buildworld on your next upgrade, if you’re running DragonFly 2.9.
Also, Matthew Dillon has made version 6 the default version of Hammer in DragonFly 2.9. Version 6 has improved handling of directory names in some circumstances. Just don’t ask me which, cause I lost track. It’s been a hard day!
Chris Turner is looking to implement something similar to OpenBSD’s mount_vnd(8) operation, where virtual disks can be mounted at boot. He talks about some of the work and ideas at length. If you don’t feel like reading about it, you can instead mess with it; he has a tarball of the current state of his work linked in his message.
If you’re using pf to control how your bandwidth is used, you may want to look at the recent fairq updates from Matthew Dillon. It should perform better now in situations where one traffic group is saturating its available bandwidth. Here’s a handy link that explains this sort of problem, yoinked from IRC.
If you’re running the bleeding edge version of DragonFly, because Sepherosa Ziehau’s recent work makes it possible to boot systems that were previously bootable, you may need this sysctl trick loader tunable in loader.conf:
debug.acpi.enabled="pci pci_link"
How will you know that you need it? The system will run strangely slow. The command enables ACPI interrupt routing, which corrects for mptable problems.
Summer of Code 2011 student applications can be made now. If you’re a student, you’ve got until April 8th to get it done! (Calendar) Remember, you can’t be too organized, too early.
I had linked to this before during Summer of Code 2010 before it completed, but an ongoing discussion on the kernel@ mailing list for DragonFly reminded me: a student named Naohiro Aota put together a Gentoo/DragonFly system for SoC 2010, similar to the existing Gentoo/FreeBSD project. He’s interested in working directly with DragonFly, now.
John Marino’s work on getting support for DragonFly ‘natively’ into binutils, upstream, has been successful. Thanks, John!
The mentor signup page for Google Summer of Code 2011 is available again, launched using a new interface. If you want to be a mentor, please sign up now. The student application period opens tomorrow!
The mentor signup page for Google Summer of Code 2011 as of this writing still says “We have temporarily disabled the creation of new requests and invites in preparation of the launch of the new UI for Melange later this week.”, as it has said since the 20th.
So, if you’re wanting to mentor, keep an eye on it. I’ll send mentor requests to any of the names on my list of people that have already expressed interest, if I get to a working version of the page before you do…