Matt Dillon and Venkatesh Srinivas conspired to fix another nmalloc issue, which should resolve any remaining problems people were having with Firefox, and possibly other applications as well. Due to an oversight of sorts, all locking operations on nmalloc’s depot were ineffective, as if there were no locking at all. Curiously, it worked remarkably well considering such a large race condition was present.
Category: Heads Up!
Our mirror of the never-quite-official git repository for pkgsrc is being rebuilt, so it will be temporarily inaccessible. Matthew Dillon is working on building a new one directly from pkgsrc CVS, which will have a different link.
Update: It’s finished. Matthew Dillon’s posted a summary of the changes and what you need to update in order to use it.
A little work has snowballed into even more of the network systems in DragonFly being pulled apart in order to get rid of the Giant Lock. It may delay the 2.8 release by a week or two, but it’s already paying dividends, such as NFSv3 now performing at maximum physically possible speeds on gigabit Ethernet.
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.
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.
- 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.
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.
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.
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.
From my email to users@:
- I almost have pkgsrc-2010Q1 builds done for every architecture, so I’ll point the default load location for pkg_radd to them within the next 24 hours.
- Are you still using a DragonFly system older than 2.4 and downloading binaries? If so, tell me.
- A project: enhancing pkg_search and pkg_radd to be able to tell when a package is missing because of license restrictions. Anyone want to try it?
If you use Apache, as many people do, some of the default building choices have changed in pkgsrc. Read Matthias Scheler’s post for details.
The naming convention for the daily snapshots of DragonFly has changed, to make the file names more readable. This may lead to some confusion as the mirrors settle, but it’ll pan out. If you run a mirror, double-check your downloads.
We’ve got a third year in Summer of Code!
The timeline shows about a week and a half for planning, and then student applications begin on the 29th of March, and run to April 9th.
If you want to participate as a student, start planning now by talking with people on IRC (#dragonflybsd on EFNet) or on the mailing lists. You cannot be over-prepared.
Simon ‘corecode’ Schubert’s host for DragonFly, chlamydia.fs.ei.tum.de, is down for good. Since it had excellent bandwidth, it was frequently used as the source for a lot of the DragonFly mirror sites out there.
If you were using it for your own mirror, switch to mirror-master.dragonflybsd.org, and tell Matthew Dillon at @dragonflybsd.org your contact info so you can be notified of changes. (If you’re not mirroring, please download from the nearest site that is.)
The next release, 2.6, is scheduled for mid-March. Please make sure things are running well, as there’s a lot of new features already ready for this release.
Most of the dragonflybsd.org machines will be down for a short period Wednesday; this is for an upgrade that includes an SSD for the recent swapcache work. Everyone should notice a speedup, since while crater.dragonflybsd.org is getting the SSD/swapcache, a lot of crater’s directories are mounted on other machines via NFS.
Matthew Dillon is setting up DragonFly to be able to use a fast disk (like a SSD) for disk cache, reducing the effect swap has on speed. This means very large amounts of data could be read into memory – greater than the available RAM in the system – without having the normal paging out problems that happen when memory is exhausted. It’ll work for any filesystem on the machine – HAMMER, UFS, or NFS. His inital notes have more. Other notes include details on the NFS benefits, and possibilities with SSDs. Wear-leveling may make SSDs last much longer.
Work has started, and there’s an update (with examples) that people can try, though it may destroy all your data at this point. Test results in that update show, if I’m reading it right, a better than doubling of speed on a repeated md5 test on a large file when using the new caching system. This should be a huge benefit.
If you’re running DragonFly 2.5 and updated in the past week or so, and have UFS disks, there’s some instability introduced by Matthew Dillon’s recent work. It ought to be better by next week.
Users of Hammer, or of UFS only as /boot, don’t have anything to worry about.
This has been bouncing around other news outlets, but I’ll mention it here: There’s an out of data SpamAssassin rule that can potentially mark mail as spam because of the 2010 date. A mail to email@example.com describes the various fixes.
The step of ‘sa-update && /etc/rc.d/spamd restart’ seems to have fixed it for me. Incidentally, if you are using SpamAssassin, sa-update is a good tool to run on a regular basis.
If you’re running DragonFly 2.5, Matthew Dillon has changed thread and process structures, meaning that a full rebuild of kernel and modules is necessary on the next system update.
SSH, on DragonFly, now defaults to allowing root logins, but does not allow plaintext password logins. This is on new installs only, so any existing installations won’t be affected, even after upgrades. Plaintext passwords are under constant brute-force attack for some years now, so this is probably safer.
dragonflybsd.org will be going down for work somewhere in the next two weeks. The package archive at avalon.dragonflybsd.org is located elsewhere, so pkg_radd and similar programs will still work.
DragonFly 2.4.1 is slated for release this Wednesday, 2009-09-30. This will have fixes for the installer and 64-bit DragonFly, among other things.
The 2.4 release has been branched, and the release ISO should be available Wednesday.
The 2.4 release looks to be about a week and a half away; if you’re a committer, please plan to make drastic changes after the release, if possible,
The libtiff package has been found to write out incorrect TIFF files in version 3.9.0. If that’s what is installed on your system, please update now.
Simon ‘corecode’ Schubert has removed GCC 3.4 and Kerberos 5/Heimdal from the base system. Kerberos hasn’t been building as part of base for a while, and is available in pkgsrc. It was also the last item that requires GCC 3.4, so buildworlds are little quicker now. (Cross your fingers that GCC 4.2 the current version doesn’t break somehow.)
As Hasso Tepper pointed out, having GCC 4.4 in DragonFly is unique to DragonFly. Systems like pkgsrc don’t work due to the changes in headers and etc. between gcc 4.2 and 4.4, and since no other BSD uses gcc 4.4, the fixes would all have to come from DragonFly (and be backward compatible). This is unlikely to change in the near term, since this newer version of gcc is being refused due to the V3 GNU Public License, not a technical issue. It’ll stay in DragonFly for now.
However, you can specifically exclude it and speed up buildworlds with the new NO_GCC44 option. It’s also possible to use NO_GCC34 in make.conf to keep the old version of gcc from building, for those who don’t like to wait.
DevFS breaks vinum. Will it be fixed? Yes, hopefully very soon.
DevFS has been added. There’s some issues, each with a workaround. Please test, as it’s certain that a major change like this will cause new problems around video and sound. Once those are fixed, however, device management will be a lot easier.
The DevFS Summer of Code project is going into DragonFly this weekend; be ready for surprises if you update. It’s not complete yet; there’s a few more weeks for Summer of Code, but there’s other work that this code will enable.
The kernel option PCI_MAP_FIXUP has been removed as of July 11th; if you’re upgrading past that point, make sure to remove that option.
There’s going to be a lot of kernel structure changes this week, as Matthew Dillon works on making more system parts multiprocessor-safe. Rebuild everything including your kernel, if you’re running bleeding edge DragonFly.
Hasso Tepper has a “BIG FAT WARNING” about two new issues: threaded programs are broken on bleeding-edge DragonFly because of a possible GCC bug that was only recently exposed, and Xorg in pkgsrc has issues with the Intel driver.
Simon ‘corecode’ Schubert already has one change in that may fix the issue with threaded programs, and is working on the Intel driver issue.
Update: more threading changes.
If you’re running bleeding-edge DragonFly, you’ll need to rebuild world and kernel after this recent change to interrupt counting from Sepherosa Ziehau.
If you’re a student with a Summer of Code application, make sure to subscribe to it. Doing this will ensure you are automatically notified of any mentor requests for more information.
There’s also some recent stats published by Google on the applications so far; DragonFly is one of the surveyed orgs it mentions, and the results are the same – less applications, better quality.
If you’re a potential student for Google’s Summer of Code, please get your application in ASAP. All student applications are due by 19:00 UTC April 3rd. You can revise a submitted application, even after the April 3rd cutoff, but it has to be in.
If you’re a student, you have from now until the 3rd of April to apply for a Summer of Code slot.
DragonFly BSD is a participating organization in Google’s Summer of Code 2009. (See the lists of participating organizations at the Google site.)
I have an announcement message with more details on the mailing lists; the next important date is the 23rd, when students can apply. If you’re a student, start putting your proposal together and talking with others. If you can mentor, sign yourself up on the Google site and request a mentoring spot.
Big news: Sepherosa Ziehau has managed to remove the Big Giant Lock from the ip and bridge forwarding path. This includes ipfw, though not yet pf. It is in fact possible to make the whole TCP/UDP code path BGL-free. Sepeherosa helpfully posted some benchmarks to show just how significant the improvements can be.
wiki.dragonflybsd.org has been set to be read-only, since the content has been moved to www.dragonflybsd.org. The site hasn’t been turned off yet, because I may have missed something in the move…
The iwi(4) firmware has been updated, and there’s an announcement that tells you where to find it.
If you are interested in the Google Summer of Code project, as a student, a mentor, or just want to suggest a project, write that down:
The application period starts for DragonFly (for the organization, not students) in a week, and it’ll help to see who wants to get in on the action.
Simon ‘corecode’ Schubert has some tips on how to mirror the git repo for DragonFly more exactly; there’s an additional command that can clean up spurious branches.
As Simon ‘corecode’ Schubert notes, DragonFly is now in a ‘Feature Freeze’ for two weeks. Please work on bug fixes in the intervening timeframe, and push them to the ‘master’ branch. Changes for the release will be pushed to the 2.2 release branch. Matthew Dillon has more details.
The ISC DHCP package in pkgsrc is changing as it moves from 4.0 to 4.1; the package names will be different, as will the rc flags. Keep an eye out for this if you use it for your internal network. (This may affect our install CD, too.)
Simon ‘corecode’ Schubert warns that a recent change in the size of struct thread is going to require a buildworld; this only affects people running DragonFly 2.1.
Somehow I missed this commit, but DragonFly 2.0.1 is out, with many changes to Hammer and other miscellaneous updates.
DragonFly 2.0.1 is going to be rolled this Wednesday, so if there’s anything you need in there, speak up.
Do you run a mirror?Â Make sure you’re downloading the 2.0 release ISO.Â The release won’t officially happen until there’s enough ISOs floating around for people to actually reach it.
If you want to commit something for 2.0, do it now!
If you are so inclined, test 2.0 building with a ‘cd /usr/src/nrelease; make installer release‘
It’s been 5 years since Matthew Dillon announced DragonFly. Happy 5th birthday, us!
2.0 is going to be released on the 20th.Â If you’re committing, make sure to put it both in the 2.0 and 2.1 branches, please.Â And get it in quickly!Â If you’ve contributed changes to this release, please get them listed in the 2.0 release document that Matthias Schmidt has been conscientiously updating.
The 2.0 release of DragonFly will be on the 20th of this month.Â I’ll be working on a new set of pkgsrc packages to match.