DragonFly 3.4 branched

DragonFly 3.4 is branched –  as a release candidate, with the current target for 3.4.0 release as the weekend of April 13-14.  See the tagging commit note for a list of all the commit messages.

Note that in previous releases, we tagged “x.y.0” on branch, and “x.y.1” on release.  I’m now tagging “x.y.0rc” for the release candidate at branch time, and we’ll tag with a more normal (to my ears) “x.y.0” for the release.

If you build a 3.4.0rc image right now, you’ll get an older quarterly release of pkgsrc.  That’ll be changed tomorrow as the DragonFly pkgsrc git source is updated and I change where 3.4’s  /usr/Makefile points.

pkgsrc-2013Q1 announced, with extras

The 2013Q1 branch of pkgsrc has been announced.  Along with the normal quarterly material, there’s several notes: preliminary Cygwin support is present, ruby 1.8 will be retired in favor of 1.9 after this release, and the pkgsrc.org web page now has a very nice new look and logo.

I plan to branch DragonFly 3.4 very soon, and that version will have 2013Q1 as default.

Update: The 2013Q1 branch should be available by tomorrow on DragonFly’s git; the repository needs to update and convert from NetBSD’s CVS and that takes a little time.  I’ll post when it’s ready.

Read shortcut, buffer cache improvements

The new vm.read_shortcut option has been turned on by default by Matthew Dillon, which should lead to some performance improvements.  That improvement has been measured for tmpfs, at least.  There’s also some buffer cache improvments that help on x86_64 systems, too.

Update: As Venkatesh Srinivas pointed out, tmpfs also no longer uses the mplock, so it’ll take better advantage of multiple processors.

a pf question on VoIP

I have a pf question for anyone who is interested.  I have this setup in my /etc/pf.conf, to prioritize my VoIP link.  (this system also does NAT.)

extif="em0"
intif="nfe0"
ipphone = "192.168.0.101"
altq on $extif cbq bandwidth 768Kb queue { std, voip }
queue voip bandwidth 168Kb priority 7 cbq(borrow)
queue std bandwidth 600Kb priority 1 cbq(default)
nat on $extif from $intif:network to any -> ($extif)
pass in quick on $intif proto udp from $ipphone to any tag VOIP_OUT keep state
pass in on $intif from $intif:network to any keep state
pass out on $intif from any to $intif:network keep state

pass out on $extif tagged VOIP_OUT keep state queue(voip)
pass out on $extif inet proto tcp all modulate state flags S/SA queue(std)
pass out on $extif inet proto { udp, icmp, gre } all keep state

When I run this, ‘pfctl -s queue’ shows most of the data getting run through the ‘voip’ queue.  I unplug the ATA, I still see the number of packets going up.  It seems packets are getting tagged that shouldn’t be, but I’m not sure why.  Anyone else have a similar – but working – setup?

Update: it was the underscore character in the tag.  Everything matched it, it seems.  Removing that made it work as expected.