There’s a whole lot of options for bmake, used in pkgsrc, and they aren’t immediately obvious. I’ve linked to a reference before, but it’s no longer at that location. However, I found a new link!
Category: DragonFly
Upgrading pkgsrc from 2010Q1 to 2010Q2
As I found out directly, upgrading from pkgsrc version 2010Q1 to 2010Q2 has a minor quirk: binary packages for 2010Q2 will refuse to install with an older version of pkg_install. Rebuild pkgtools/pkg_install to the 2010Q2 version and the problem will go away.
Just continue with buildkernel for now
Full buildworlds again, as there’s more commits that make it necessary. If you’re running 2.7, you should probably just plan on using buildworld, and not quickworld for rebuilding.
Another recompile
System data structures have changed again, so make sure your next rebuild is a full buildworld/buildkernel if you’re running 2.7. There’s been a lot of changes to pull more and more out from under the Giant Lock.
Minor software hiccup possible
happened to notice that recent libkinfo changes broke sysutils/estd. It’s fixed by rebuilding the program, though this may affect a few other packages. This only affects people running bleeding-edge DragonFly 2.7.
Google Summer of Code 2010: everybody wins!
All three of the Google Summer of Code Projects for DragonFly are complete and passed! The code for each will show up at the Google-hosted project page in the next week or so. The original proposals for Alex Hornung’s device mapper/LVM, Samuel Greear’s kevent/select/pool work, and David Shao’s GEM/KMS porting are still there on the Google project page for DragonFly.
arcmsr(4) added
Sascha Wildner has brought in arcmsr(4), an Areca RAID controller driver. Please try it if you have the right hardware.
tmpfs gets tougher
Thanks to the efforts of Venkatesh Srinivas, tmpfs file systems on DragonFly can now withstand fsstress testing. Thanks, Venkatesh!
(One of the benefits of posting about people’s work is that the names are fun to type.)
Logo request, certification details
Jim Brown asked about using the DragonFly logo, and as part of his request described (slightly) the BSD Professional certification exam, and how they are testing.
HEADS UP: structure changes, pkgsrc changes
Two things:
- If you are running DragonFly 2.7, Matthew Dillon has made some kernel changes, so updating your 2.7 machine will require a full buildworld cycle, not quickworld.
- The binary packages for 2.6 and 2.7 have been updated to pkgsrc-2010Q2. This means that pkg_radd will automatically pull down newer packages, and you should make sure your /usr/pkgsrc is using the pkgsrc-2010Q2 release if you want to be sure there’s no version mismatches.
I recently sent out a description of what built for pkgsrc-2010Q2 , though the section on not changing the stable link is no longer true.
TCP-MD5, anyone?
Anyone want to implement TCP-MD5? (RFC2385, among others.) David BÉRARD would find it useful.
DragonFly hosting available
Nikolai Lifanov has created a DragonFly hosting service. It’s vkernel-based, with a variety of options in disk and RAM. It’s at http://dflyhost.net/. (added to the links here, too)
Messylaneous: books, conventions, videos, conventions
Link dumps just so I can get caught up.
- Michael Lucas was interviewed about his new Network Flow Analysis (previously reviewed) book, in two parts. Also, he’s speaking at NYCBSDCon, this November 12th-14th.
- Dru Lavigne gave a talk on “Getting Started in an Open Source Community“. (via) In other video news, MeetBSD 2010 videos are available now.
- Random Google searches turned up a DragonFly installation video on Via hardware.
- Back to convention items: Kirk Russell has a short BSDCan recap. (via)
- Also, cluster ssh.
- Stathis Kamperis updated DragonFly’s One True Awk. (Huh. Brian Kernighan’s not at Bell Labs anymore.)
Updates and improvements for HAMMER, crypto
Matthew Dillon posted a summary of recent bugfixes in HAMMER and kqueue, which means if you are running a version of bleeding edge DragonFly build in the last few weeks, you should update.
He also mentions a “significant improvement in performance” in disk encryption. How significant? Over three times as fast.
Softcrypto work in master
Matthew Dillon sent an email to the kernel list detailing the performance improvements that he and Alex Hornung have recently made to dm_crypt and opencrypto. The disk encryption work does still come with a warning, however.
New HAMMER catastrophic recovery tool
Matthew Dillon reports that DragonFly now has a catastrophic recovery tool for HAMMER filesystems, with pertinent details.
Summary of recent kernel work
Matthew Dillon has provided some details about recent kernel work, along with a release forecast.
What of OpenSolaris?
You have probably seen reports declaring the demise of OpenSolaris by now, many taking a less than conservative approach in reporting the news one way or the other. So what do you make of the news? By all accounts, the source code (including future changes) for things such as ZFS will continue to be published under the CDDL. Will Oracle closing up development make it impossible for operating systems like FreeBSD to maintain ZFS without forking it? What do you think the ramifications will be for DragonFly’s HAMMER and DragonFly in general?
fairq disk scheduling now default
DSCHED_FQ was added to GENERIC, making it the default disk scheduling policy for master. You might want to refresh your memory of dsched and the fairq policy with some prior details and benchmarks.
Update: As Venkatesh Srinivas pointed out in the comments, adding DSCHED_FQ to GENERIC does not make it the default, but you no longer have to load the fairq module. Which raises the question, should fairq be the default?
No more libevent
The libevent library has been removed from the repository to ease the maintenance burden. There is some additional rationale in this tracker issue.
Dedup, please
Matthew Dillon made a minor change to HAMMER that would help any future deduplication work. There’s also a deduplication code bounty out on the recently-updated Code Bounties page…
I’ve been NAS-shopping, and I’ve found that deduplication ability seems to add an extra zero on the end of a device’s price tag. It would be very nice for HAMMER.
pkgsrc-2010Q2 binary packages available
Binary packages built for pkgsrc-2010Q2 are available now via pkg_radd or directly. Make sure to read my lengthy post for exact details.
gimp-print may go away
On pkgsrc-users@netbsd.org, Greg Troxel proposed getting rid of gimp-print and associated packages. It’s been superseded by gutenprint-lib, so it may be worth switching now for the newer printer drivers, even if the package isn’t eliminated.
Testing the iphdr branch
Matthew Dillon’s updated his iphdr branch of DragonFly, and he’s looking for testers. In this version, IP headers aren’t switched to host byte order, reducing complexity. If you like transmitting data, this would be a good one to test.
More pf stuff: a review
Jan Lentfer’s looking for code review; specifically these patches. It’s for pfsync and carp, part of his recent pf upgrade.
Huge packet filter update
Jan Lentfer has updated pf (and pflogd and ftp-proxy) in DragonFly to match what was in OpenBSD 4.1. Why this intermediate step? pf went through a lot of changes after OpenBSD 4.1, so this was easier than jumping right to the current version – which he plans next.
In any case, this was a huge and difficult job, with somewhere around 10,000 lines of code added, and very useful for DragonFly. Jan also managed to keep the DragonFly-specific features working, where “no state” is the default, along with features like fairq.
Building a device list, checking it twice
Stathis Kamperis was looking for a way to list all disk devices and the associated serial numbers. Matthew Dillon described a manual way to find it. That manual method could be turned into a single shell script, if anyone wanted a small shell programming task.
iwn(4) support updated
Among other things, Joe Talbott has brought in support for the 6000 and 6050 series of iwn(4) wifi devices.
Even more numbers
Samuel Greear has even more benchmarks for his kqueue work. This time, he took an example server from Unix Network Programming, and tested various permutations. His post has the relative timings for each server type.
Stress out!
Sascha Wildner brought in FreeBSD’s stress2 stress testing suite. It’s an efficient way to crash your system. Look at the README to find out the fastest way there.
Selective wakeups, with numbers
Samuel J. Greear posted a note about his Summer of Code work, focusing on selective wakeup. He outlined his strategy, and then posted benchmark numbers – using Apache, lighthttpd, and a minimal web server he wrote just to show the improvements from selective wakeup.
ALTQ now in GENERIC kernel configs
Matthew Dillon has added ALTQ to the GENERIC (and X86_64_GENERIC) kernels, since there’s no module version to add later. Make sure to include it in your custom configs, if desired.
(I always worry that I’ll miss some new kernel option when upgrading, but also don’t want to go over my whole kernel config just in case.)
twa(4) updated
Sascha Wildner has pulled in a bunch of updates for twa(4), adding more devices for this SATA RAID device driver. There’s a list of what’s supported now on the man page.
Keep updating if you are on 2.7
Samuel J. Greear just updated his recent kqueue work with some fixes. If you’re running a recent version of DragonFly 2.7, you should update to catch what it fixes.
New Features page for DragonFly
Matthew Dillon created a new Features page on the DragonFly site; it lists the technologies added to DragonFly from over the past few years.
Snapshot build logs now available
The logs from regular DragonFly builds are now available as they are completed. It’s i386 right now, with x86_64 on the way.
pf progress
Jan Lentfer posted about his progress on upgrading pf. He has pickups working, but on on a per-rule basis; he’s looking for feedback on how important this option is for other users.
GPT, please
Is it time to move to GPT instead of the traditional fdisk/disklabel combo? Petr thinks so. There’s some work to do, though.
pf: farther along
Jan Lentfer has more on his progress updating pf in DragonFly to a more recent version. He’s looking for testers, especially ones with a more complex pf setup.
HEADS UP: many changes from kqueue and LVM2
Matthew Dillon posted a warning about both Samuel Greear’s kqueue work and Alex Hornung’s LVM2 work. Both are now committed to DragonFly 2.7. These are dramatic (and useful!) changes, so some instability may happen for bleeding-edge users. His post does include some minor detail on what was touched.
iwn(4) support added
Joe Talbott’s ported over iwn(4), which is the “driver for Intel 1000, 5100, 5150, and 6000 wifi chipsets.”
More mandoc madness
Undeadly has an article up about recent work on mandoc in a mini-hackathon. It’s mentioned in context with OpenBSD in the article, but mandoc is also present in DragonFly, and is a potential groff replacement. (And I think groff is the last item in base requiring C++? I may be wrong.) Plus, as I’ve said before, I like mandoc’s output. It would be nice to use that for our online man pages, for instance.
Another GSoC update
David Shao has updated his GSoC project page on the DragonFly website. His project is updating DRM/GEM/KMS for BSD systems. It’s a huge but important piece of work. This update brings news on updates to locking systems and data structures.
New kevent for testing
Samuel J. Greear’s work on his Google Summer of Code project, unifying the select/poll/kevent subsystem into kevent, is already available for testing. Any testing – just booting, or running X, or other simple tasks – is useful, as this new system touches many things.
An easy way to use clang
Sascha Wildner has set up $CCVER so that it can be used with ‘clangsvn’. If you install clang from svn into /usr/local, it’ll get picked up and used as the system compiler.
Oh look, it’s LVM2!
Alex Hornung has imported LVM2 from NetBSD, along with cryptsetup and dm. (Not dm(8), but devicemapper) LVM(8) stands for Logical Volume Management, and it makes storage management much easier; you may have encountered it on NetBSD or Linux. Those additional tools make it possible to encrypt volumes. Alex has published details on how to use it.
Also: Alex’s not-really-related-but-I -mistakenly-linked-to-it udev/libdevattr work.
Reminder: use serno
Using ‘serno’, meaning specifying disks by serial number rather than path, is a good idea. If you have a machine that started out as an older DragonFly installation, it may be a good idea to use this feature.
HEADS UP: ehci.ko is always there
EHCI support is now always on, for 2.7 users, and will be for 2.8 when released. It’s possible to turn it off if it causes a problem, but it should generally just mean better USB performance.
mkinitrd added for the future
Alex Hornung recently added mkinitrd(8), a tool for building a RAM disk early in the boot process. What’s it for? It’s needed to support more interesting bootable volumes, like LVM2, encrypted disks, or iscsi roots, all of which I’d like to see.
SoC kqueue progress
Samuel Greear has a whole page about his Google Summer of Code kqueue project, recently updated.
A trick for updating moved packages
Sometimes, packages are renamed in pkgsrc, usually because of a version change. If that happens, it can be hard to find the replacement. You can manually add them, or there’s a trick to make the build ‘jump’ to the new name.
Real world use and DragonFly
Siju George has written up his ‘real world’ experience with DragonFly in production; I should probably do the same since this site has been DragonFly-driven for years now. Add your story to the page.
Potential applicable power project
Matthew Dillon followed up on some comments from Sepherosa Ziehau about power management to describe a possible new way to manage power consumption; the project is up for grabs.
New power controls
Matthew Dillon has added powerd(8), a daemon that adjusts CPU frequency based on activity; his initial report describes a whopping 40% power savings for server use.
pkgsrc git repo changes
Matthew Dillon set up a git copy of the pkgsrc repository some time ago. However, it’s had syncing problems, and there’s an ‘official’ pkgsrc git repository now which does not have the problems. You can still pull from the same place, but it’s the ‘master’ branch now. His heads-up message describes how to switch.
Better than yet another acronym
Venkatesh Srinivas has quoted a good phrase to sum up the work he and Matthew Dillon are doing to remove the Big Lock: ‘Less Lock, More Rock’
Qemu notes
Naoya Sugioka posted his qemu config; I link to it for reference, both for running DragonFly in emulation and for running emulated systems on DragonFly.
Progress update on pf
Jan Lentfer’s posted details on how his update of pf is going; it builds, but he’s having some issues with that actual filtering. He’s on vacation for a short while, but his git repo of that work is available for anyone who wants to look.
Facebook and DragonFly, but not on purpose
Looking for DragonFly BSD in Google will occasionally turn up wierd things: the release ISOs scattered amongst other not-so-free software, or poorly cut-and-pasted documentation in a splog. This is the oddest recently: a direct copy of the Wikipedia page on DragonFly, placed on Facebook, with a big tag at the top saying “Sign up for Facebook to connect with DragonFly BSD”.
Except there’s no DragonFly on Facebook. I assume it’s a group formed by some Facebook user. The whole “sign up to connect” item rankles me a bit; signing up for Facebook isn’t going to get you more DragonFly; it’s just going to waste your time.
Welcome new commiter: Venkatesh Srinivas
Venkatesh is a new committer, and he’s already helping out with the MPSAFE work.
Specific steps for multiprocessing
Matthew Dillon’s outlined the exact steps for converting to coarse locking, and he’s looking for volunteers to convert files, according to the guidelines he described. If you’re looking for maybe two hours of work that would make a big difference, here’s your chance.
Recompile again, plus multiprocessing details
Matthew Dillon’s made changes again that require a full world and kernel rebuild, if you’re following the bleeding edge. There’s also discussion of the underlying principles of the token-based multiprocessor work he’s planning.
Standards: we got ‘em
They may be low, but Sascha Wildner has documented them.
(I am making a joke that probably only makes sense to native English speakers. Sorry.)
Structure changes means recompilation
If you’re running DragonFly 2.7, you will need to do a full rebuild on your next update. Matthew Dillon has made some changes because of his lwkt_token work. Making parts of DragonFly subsystems multi-processor safe should be much easier now.
Extra DNS tools
Jan Lentfer has committed ldns and drill to DragonFly, in (unlikely) chance that you managed to delete BIND from pkgsrc (installed by default on 2.7+) and somehow couldn’t replace it.
Mandoc, mdocml, and usage
There’s an interesting article about mandoc and mdocml up on undeadly.org, talking about its history and usage in OpenBSD. It’s present in DragonFly, though it hasn’t been set to replace anything (i.e. groff), yet, that I know of. I do like the mdocml HTML output, and I’d like to see it here.
How to get more wireless drivers
Joe Talbott wants to write DragonFly/BSD drivers for a whole slew of wireless devices. These are also all the adapters he doesn’t physically have. You can fix this by purchasing something off that page, which will ship right to him. A bwi(4) driver is next, for instance.
dragonflybsd.org upgrade
www.dragonflybsd.org runs using ikiwiki, which I just updated to the latest version. Everything looks OK, but tell me if I’m wrong.
GEM and KMS progress for GSoC
Yay, acronyms! GSoC student David Shao has an extensive page up describing the state of his work so far.
More event tracing work
Aggelos Economopoulos posted more details on his event tracing library, accompanied by a rash of commits. He’s interested in feedback.
Big network stack changes
Some recent bugs motivated Matthew Dillon to change DragonFly’s network stack. It’s a pretty radical simplification, so things like IPv6, ICMP, pf, etc. will need to be tested. There’s already a first round of changes to try out, served in Git.
Long-term swapcache results
Matthew Dillon’s been running swapcache on an Intel X-25 SSD on a very busy (in terms of disk) machine for some months now. Over a long period, the disk activity will wear down the SSD, but it’s important to see if swapcache makes a significant difference with extended use. Do you have to trade disk life for speedy I/O? He reports the results in a recent email.
New HOWTO: swapcache
Dylan Reinhold has contributed a HOWTO document on setting up swapcache. Thanks, Dylan!
Last-ditch disk effort
YONETANI Tomokazu pointed out something that could be useful in the future: when you start getting drive errors, before you throw it out, try lowering the speed. Maybe it’s a cable problem, if you’re lucky.
Projects and money available
As described on the kernel@ mailing list, there’s several code bounties out now, formed in part from GSoC projects that didn’t get a slot. All of them have money waiting behind them. (I’d sure like to see better interrupt routing.)