John Marino’s work on getting support for DragonFly ‘natively’ into binutils, upstream, has been successful. Thanks, John!
This is the BSD-licensed version of libiberty, which was removed because it didn’t ever actually make it to being a replacement.
There’s two recent changes for pkgsrc and DragonFly:
- DragonFly-current (2.9) now pulls the most recent pkgsrc quarterly release (2010Q4) by default, instead of pkgsrc-current. This means more packages will be working with the default setup, plus pkg_radd and other tools will be pulling the same ‘generation’ of software.
- The DragonFly/git version of pkgsrc can now be created as a shallow clone. This means less file history, but also means a much faster download.
Sascha Wildner has changed the default compiler to gcc 4.4. See his commit notes for some details. To my knowledge, we’re the only BSD using this recent a version.
A full buildworld/buildkernel is probably the best strategy. I’ll be rebuilding all the pkgsrc packages for 2.9 using gcc 4.4… This will take at least a week.
Matthew Dillon’s improved bridging to the point where you can now modify the MAC address of the bridge and most everything, including ARP, will come from it correctly. It’s even possible to bond 2 or more interfaces together, with the side effect of dragonflybsd.org having a lot more bandwidth.
Update: the config for his bonded interfaces has been posted as an example.
Update 2: More notes here.
Matthew Dillon has continued his bridge work, with another commit adding various features. Go, read.
Matthew Dillon has added transparent bridging, mostly to overcome issues with the AT&T DSL modem he’s using. With this non-default feature, IP packets retain the original MAC address when retransmitted through a new interface.
The tmpfs(5) filesystem now runs without multiprocessor locks. Yay! Another hurdle down.
ps now has a new option: -R. This lists processes in order by parent/child status, and indents to make it visually clear. It looks like this. I wish someone had done this 15 years ago.
As Matthew Dillon notes in a recent post, procedures are now assumed to be MPSAFE (i.e. without the Giant Lock) by default. Any new work should follow this idea, and it doesn’t have to be documented specially. The inverse used to be true, where the code that happened to work without the Lock was rare, and therefore needed to be pointed out. Now, the good result is the norm.
Matthew Dillon’s made fork() and exit() (mostly) multiprocessor-safe. It’s only two calls, but both are very frequently used. One more step closer to removing the Giant Lock…
Matthew Dillon’s made some scheduler changes, which blogbench tests are showing give the default scheduler better performance under heavy load. It’s a pretty technical writeup, so I’ll just point you at it rather than attempt to summarize.
Matthew Dillon’s made some changes that will speed up the booting process for people with a ridiculous amount of memory, like 64G. This is x86_64 only, but that should not be a surprise if you think about it.
‘file’ has been updated to version 5.05 by Peter Avalos. file(1) is one of those utilities that I forget is a contributed, external piece of software, even though it’s been in Unix since 1973.
(file is one year older than me!)
Global tokens are now running without the giant lock in DragonFly. Neat! There’s still plenty more to remove, but this is a big step.