Category: Committed Code

The return of zgrep


Did you notice zgrep went missing?  Well, it’s available again, thanks to YONETANI Tomokazu.

Posted by     Categories: Committed Code, DragonFly     0 Comments

OpenSSH update to 5.9p1


Peter Avalos has updated OpenSSH to version 5.9p1.  This might be the last thing before the next DragonFly release.

Update on the update: he updated OpenSSL (1.0.0e) and file (5.09) too.

Posted by     Categories: Committed Code, DragonFly     0 Comments

TCP changes I think


From what I can tell, Sepherosa Ziehau’s made some changes where you can control TCP timeout and keepalive timing on a per-tcpcb basis, or at least that’s what I gleaned from the docs.  He’s been doing a lot of work lately, but it’s hard to link to because so much of it is at a basic level that makes it difficult to summarize in terms of how the features affect the user.

Posted by     Categories: Committed Code, DragonFly, Goings-on     0 Comments

Time travel in Samoa. Also, time zone updates


Sascha Wildner updated time zone files again.  It’s a regular thing, but I wanted to draw attention to this little change:

Samoa moves from east to west of the international date line (changes from UTC-11 to UTC+13). It will skip December 30, 2011.

2011/12/30 in Samoa will never exist or have existed, which is entirely odd.

Posted by     Categories: Committed Code, DragonFly     0 Comments

More Summer of Code results


Another batch of code has arrived from Google Summer of Code student work.  In this case, it’s code from Adam Hoka’s “Implementing a mirror target for device mapper” project, committed by Alex Hornung.  I think there’s potentially more to come.

Summer of Code results already


Google Summer of Code for 2011 just finished, and there’s already source code from it showing up in DragonFly.  In this case,  scheduler work, including multiple schedulers.  I’ll have a more detailed report soon…

A zillion sh updates


Peter Avalos brought in a vast quantity of sh(1) updates, all from FreeBSD as far as I can tell.  There’s a whole bunch more commits all on 8/21, but I’m tired of linking.  Thank you, Peter!

Posted by     Categories: Committed Code, DragonFly, FreeBSD     0 Comments

x86_64: Rebuild!


If you’re running 64-bit DragonFly, and you’re on version 2.11, you will want to rebuild with the latest sources.  Peter Avalos found a bug with file descriptor passing, and Venkatesh Srinivas fixed it.  It will require a quickworld/kernel build – maybe a full buildworld and kernel?  I’m not sure.   Some pkgsrc packages might need recompilation, too if they also passed file descriptors around.

Posted by     Categories: Committed Code, DragonFly, Heads Up!     0 Comments

Deduplication now eats less RAM


Well, if you tell it to do so.  Matthew Dillon has added a user-settable limit to the amount of memory used during deduplication, so if your Hammer-using system is low on RAM, you can conserve.  This is probably most useful if you are running DragonFly in an extremely small VM, or if your name is Venkatesh.

(inside joke; Venkatesh has a crazy old desktop for DragonFly.)

 

Posted by     Categories: Committed Code, DragonFly, Hammer     1 Comment

ACPI and interrupt routing update


Sepherosa Ziehau has, over the last few months, effectively completed the “Update ACPI and interrupt routing” code bounty on the DragonFly code bounties page.  Yay!  I’m on the hook for the $50 I pledged towards that…  (it’s already off the page; here’s the change if you want to see it.)

Posted by     Categories: Committed Code, DragonFly     0 Comments

Pulse-width modulated time-domain multiplexer!


I really just like that phrase and the action movie feeling of using it, like “Watch out!  The pulse-width modulated time-domain multiplexer is targeting us!”  Sorta like a PU-36 space modulator.  It’s actually a recently-committed mechanism to improve write performance in Hammer, but my idea sounds more exciting.

Posted by     Categories: Committed Code, DragonFly, Hammer     0 Comments

Binutils updated


John Marino has made binutils 2.21.1 the default binutils in DragonFly, and gprof is now built but not in the default path.

Posted by     Categories: Committed Code, DragonFly     0 Comments

Disk encryption updates


Alex Hornung has made a pile of changes for disk encryption, including adding libdm, a “simple BSD-licensed libdevmapper“,and adding tcplay, a 100% compatible implementation of TrueCrypt.   This should make you very happy if you like running from an encrypted disk.

Update: Alex has written an in-depth explanation of this work.  It’s a huge change!

Update update: Hey, it’s showing on Hacker News too!

Posted by     Categories: Committed Code, DragonFly     0 Comments

TCP update for 2.11


If you’re running a recent version of DragonFly 2.11, it’s worth updating.  Matthew Dillon fixed a networking bug that I’ve seen cause problems.  It was introduced within 2.11′s lifetime, so as far as I know, this won’t affect anyone on 2.10.

Posted by     Categories: Committed Code, DragonFly     0 Comments

EST for x86_64


Sascha Wildner has enabled the CPU_ENABLE_EST option for x86_64 kernels.  If you’re on x86_64, you can now use Enhanced Speedstep Technology.  (i386 users already could.)

Posted by     Categories: Committed Code, DragonFly     0 Comments

Twofish and serpent in crypto


Alex Hornung has added Twofish and Serpent support to crypto(9) / (4).

Posted by     Categories: Committed Code, DragonFly     2 Comments

AHCI/SSD issue fixed


Matthew Dillon has made some changes to AHCI support; if you have an Intel motherboard with an SSD drive that occasionally doesn’t want to co-operate on a cold boot, this recent update may fix it.

Posted by     Categories: Committed Code, DragonFly     0 Comments

Padlock warning


Do you have a Via CPU?  Do you use padlock(4)?  (The driver for cryptographic functions, which Via processors support with hardware acceleration)  Alex Hornung made some untested changes to support the hardware random number generator, but he needs people to test it.

Posted by     Categories: Committed Code, DragonFly     3 Comments

Watch out for VM work


Venkatesh Srinivas is making vmobj_token and vm_token much more fine-grained.  That’s great, but watch out over the next few weeks as this work goes into 2.11.  (i.e. don’t upgrade your DragonFly 2.11 unless you are ready for surprises.)  Venkatesh has already found some.

Posted by     Categories: Committed Code, DragonFly, Heads Up!     0 Comments

i386, LAPIC, IOAPIC


The i386 architecture now supports LAPIC and I/O APIC.  If you had weird interrupt problems when installing DragonFly before, now might be a good time to try the latest bleeding-edge version of DragonFly and see if the problem vanished.

Posted by     Categories: Committed Code, DragonFly     0 Comments

New gold linker


John Marino has made it possible to use ‘gold‘, the new linker in binutils 2.21, on DragonFly.  His explanatory post outlines the benefits (much faster C++ compiling), and caveats (does not work yet for building world/kernel).

Posted by     Categories: Committed Code, DragonFly     0 Comments

SMP kernels on uniprocessor systems


It looks like Sepherosa Ziehau is working on getting multiprocessor kernels able to boot on single-processor systems.  This makes life a bit easier, since there’s only one kernel needed for any given processor.  I don’t know if it’s in a finished state yet.

Posted by     Categories: Committed Code, DragonFly     2 Comments

libgnuregex goes away


Thanks to John Marino, the one dependency needing libgnuregex is gone, as is the software itself.  I didn’t even know libgnuregex was there.

Posted by     Categories: Committed Code, DragonFly     0 Comments

Really old systems and libpthread


If you have a really old DragonFly system, meaning you’ve been upgrading it since version… 1.8 (I think?), you may have libpthread linked to libc_r instead of libxu.  This means that if you have a system that old, you will now need to set THREAD_LIB or just recompile your pkgsrc programs on your next upgrade to something after DragonFly 2.10.   I don’t think this is going to apply to a lot of people.

(I hope I got the lib details right…)

Posted by     Categories: Committed Code, DragonFly     0 Comments

ipf goes away


ipfilter has now been removed from DragonFly, by Sascha Wildner.  We now have “only” ipfw2 and pf for software firewalls.

Posted by     Categories: Committed Code, DragonFly     2 Comments

GDB update


John Marino has updated the GNU Debugger (GDB) from version 7.0 to version 7.2.  The lengthy commit message describes how surprisingly complex the upgrade proved to be.

Posted by     Categories: Committed Code, DragonFly     0 Comments

gcc, textinfo, and diffutils updates


John Marino’s gone on a tear and updated GCC to version 4.4.6, diffutils from 2.87 to 3.0, and texinfo from 4.8 to 4.13.  Each commit message that I linked to has plenty of notes on what’s different, so they’re worth following.  This is the first update for texinfo in 6 years, so the quantity of updates is not surprising.

Posted by     Categories: Committed Code, DragonFly     3 Comments

Want your kernel build to fail?


Then use the new LINT64 config added by Sascha Wildner.  LINT kernels have every option turned on, so it’s pretty easy to have problems due to conflicts or untested parts and so on.  You probably won’t get a kernel out of it, but now there’s a comprehensive list of your 64-bit kernel options for when you’re building a kernel that works.

 

Posted by     Categories: Committed Code, DragonFly     0 Comments

Grep still GNU, sort is not. Plus, file.


GNU grep on DragonFly has been updated from version 2.4d to 2.7. Other BSDs have switched/will switch to bsdgrep, but as John Marino points out in his commit message, GNU grep’s still faster.  He’s also brought in NetBSD’s version of sort, to replace the GNU flavor.  I don’t know why on that one.

Peter Avalos also updated file to 5.06.

Posted by     Categories: Committed Code, DragonFly     4 Comments

More Hammer documentation


Thomas Nikolajsen has put together more information on Hammer, including formatting and the new deduplication features, conveniently located in the man pages and some other spots.

Posted by     Categories: Committed Code, DragonFly, Hammer     0 Comments

ACPI SCI changes


Sepherosa Ziehau has made some changes to default SCI settings in ACPI.  This may make it possible to boot a computer, or to boot a computer with ACPI, that did not boot before.  If it causes problems, he lists some various tunables to set.  Just don’t ask me what SCI does.

Posted by     Categories: Committed Code, DragonFly     0 Comments

One extra thing: OpenSSH


Peter Avalos squeezed in one more thing before the DragonFly2.10 branch: an update of OpenSSH to version 5.8-p1.  This is mostly a security fix upgrade to 5.7 – see the OpenSSH release notes for details.

Posted by     Categories: Committed Code, DragonFly     0 Comments

Our newest committer: John Marino


Welcome John Marino, who has been working on some rather difficult updates for gcc and other toolchain items.

Posted by     Categories: Committed Code, DragonFly     2 Comments

GCC 4.4.5 now


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.

Posted by     Categories: Committed Code, DragonFly, Goings-on     1 Comment

Double buffering in Hammer usually useful


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.

Posted by     Categories: Committed Code, DragonFly, Hammer     0 Comments

binutils, Hammer updates


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!

Posted by     Categories: Committed Code, DragonFly, Heads Up!     0 Comments

Fairq enhancements


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.

Posted by     Categories: Committed Code, DragonFly     0 Comments

Native binutils support for DragonFly


John Marino’s work on getting support for DragonFly ‘natively’ into binutils, upstream, has been successful.  Thanks, John!

Posted by     Categories: Committed Code, DragonFly, Goings-on     0 Comments

Binutils 2.21 added, still optional


Sascha Wildner has added in binutils version 2.21, replacing 2.20.  Note that both 2.20 and 2.21 are ‘optional’, so you have to set BINUTILSVER to use them.  Otherwise the system defaults to the also-installed binutils 2.17.

Posted by     Categories: Committed Code, DragonFly     0 Comments

More memoryallocators manpage material


Venkatesh Srinivas has added a new memoryallocators(9) man page, to describe the various memory allocation schemes in DragonFly.  It gives descriptions of each and leads off to more man pages.

libiberty goes byebye


This is the BSD-licensed version of libiberty, which was removed because it didn’t ever actually make it to being a replacement.

Posted by     Categories: Committed Code, DragonFly     0 Comments

pkgsrc current and 2.9, plus shallow pulls


There’s two recent changes for pkgsrc and DragonFly:

Posted by     Categories: Committed Code, DragonFly, pkgsrc     0 Comments

gcc 4.4 now default


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.

Posted by     Categories: Committed Code, DragonFly, Heads Up!     3 Comments

Bridge building better


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.

Posted by     Categories: Committed Code, DragonFly     0 Comments

Better bridge built


Matthew Dillon has continued his bridge work, with another commit adding various features.  Go, read.

Posted by     Categories: Committed Code, DragonFly     3 Comments

Transparent bridging added


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.

Posted by     Categories: Committed Code, DragonFly     2 Comments

tmpfs loses the locks


The tmpfs(5) filesystem now runs without multiprocessor locks.  Yay!  Another hurdle down.

Posted by     Categories: Committed Code, DragonFly     0 Comments

New ps option


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.

Posted by     Categories: Committed Code, DragonFly     2 Comments

Assume it’s multiprocessor-safe


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.

Posted by     Categories: Committed Code, DragonFly, Goings-on     0 Comments

fork and exit more mpsafe


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…

Posted by     Categories: Committed Code, DragonFly     0 Comments

Scheduler updates


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.

Posted by     Categories: Committed Code, DragonFly     0 Comments

More Google Code-In work arrives


Samuel J. Greear committed some more code that happened to come from DragonFly/Google Code-In projects.  There’s a surprising large amount of code that came from those projects…

Posted by     Categories: Committed Code, DragonFly, Google Code-In     0 Comments

Good news for people with excess memory


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.

Posted by     Categories: Committed Code, DragonFly     0 Comments

Fixes for rxvt, milter-greylist


In case you are using either of those programs, there’s fixes for building/using them.

Posted by     Categories: Committed Code, DragonFly, pkgsrc     1 Comment

More interrupt work


Sepherosa Ziehau has been continuing his work on improved interrupt support.  I have no one central commit to point to, but rather a zillion bits of work on this and other stuff.  I feel it’s always good to recognize when someone’s volunteering a lot of work – Thanks, sephe!

Posted by     Categories: Committed Code, DragonFly     0 Comments

Update for file(1)


‘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!)

Posted by     Categories: BSD, Committed Code, DragonFly, UNIXish     0 Comments

More mpsafe material


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.

Posted by     Categories: Committed Code, DragonFly     0 Comments

Kill your filesystem on x86_64 too


Matthew Dillon’s updated fsstress for x86_64, so if you have a 64-bit machine that needs a workout – here you go.

Posted by     Categories: Committed Code, DragonFly     0 Comments

tmpfs improvements


While we’re talking about file system improvments, Venkatesh Srinivas has been removing the Giant Lock from tmpfs.

Posted by     Categories: Committed Code, DragonFly     0 Comments

New Hammer version


The default Hammer version in DragonFly is now version 5, which is the one that includes deduplication.  Enjoy, bleeding-edge users!  Otherwise, wait for the next release.

Version 6 is there, but don’t upgrade to it yet; there aren’t significant user-visible changes, and the usual disclaimers for new versions apply.

Posted by     Categories: Committed Code, DragonFly, Hammer     0 Comments

Live deduplication support added


Ilya Dryomov has added live deduplication, or as he titles it, “efficient cp”.  It’s experimental and turned on with a sysctl, so approach with caution.

Posted by     Categories: Committed Code, DragonFly     0 Comments

XNS gone, nobody say anything


Xerox Network Services is gone from DragonFly.   Does anyone, anywhere, use this protocol?  Ironically, I don’t recall this even being visible on the Xerox hardware products I have at work.

Posted by     Categories: Committed Code, DragonFly     11 Comments

Updates for the new year


Sascha Wildner has updated twe(4), Jan Lentfer has updated ldns to version 1.6.7 (changelog), and also updated pf to match the OpenBSD 4.4 version.  Phew!

Happy new year!

Posted by     Categories: Committed Code, Device support, DragonFly     0 Comments

No more EISA


Another bus bites the dust: EISA is no more on DragonFly.  I don’t know if there’s even any system that DragonFly could boot on and would use this.  Still, remove your hats and enjoy a moment of silence.

Posted by     Categories: Committed Code, Device support, DragonFly     3 Comments

Crazy x86-64 crash fixed


Matthew Dillon fixed a rare and difficult-to-find bug on x86-64 Dragonfly.  This means much more of the system can be run ‘MPSAFE’, or without the Giant Lock.  Watch for this soon if you’re running 2.9.

Posted by     Categories: Committed Code, DragonFly     0 Comments

Google Code-In, and sysctls too


Ed Smith was thinking of working on sysctl documentation, but as it turns out, a lot of it has already been done via Google Code-In; Samuel Greear recently committed a lot of it. (Though there’s more sysctl work possible.)

While on that topic, Samuel Greear also posted a lengthy summary of all the Code-In work done so far.  We need more code-related tasks!  The existing ones have been so popular that they’re all getting done, quickly.

Posted by     Categories: Committed Code, DragonFly, Google Code-In     0 Comments

New reference count – it’s super!


Venkatesh Srinivas has created what he calls “Super Light Weight Reference Counting”, which he describes in a recent post, plus followup. He’s already converted sfbuf to use it.

Posted by     Categories: Committed Code, DragonFly     0 Comments

Miscellaneous 48-core details


As Matthew Dillon works on supporting his new 48-core system, he’s written some notes on power usage and scheduling/drivers that may be worth a read.

Posted by     Categories: Committed Code, Device support, DragonFly     2 Comments

libarchive updated


Peter Avalos has updated libarchive to version 2.8.4.  The commit message has details on what’s changed (for us).  This is good, since the libarchive site release notes seems to not be up to date.

Update: Peter helpfully pointed at contrib/libarchive/NEWS.

Posted by     Categories: Committed Code, DragonFly     0 Comments

Updates for zlib, tnftp


Peter Avalos has updated zlib to version 1.25, and appears to have done some work with tnftp, though this is the only message I saw.

Ironically, I get a “this site is using an unsupported form of compression” error when browsing to the zlib web site.

Posted by     Categories: Committed Code, DragonFly     0 Comments

libfsid created


Another Google Code-In project arrives: libfsid.  It’s used to get the volume label for a given file system.  (see man page)  It makes me happy to see more Google Code-In projects coming to fruition and getting committed – suggest more, if you have them!

Posted by     Categories: Committed Code, DragonFly, Google Code-In     0 Comments

Vkernel speedup


As part of the ongoing work to support a lot of CPUs, Matthew Dillon has made some changes that have the side effect of benefiting virtual kernels.  How much?  I don’t have a benchmark, yet.

Posted by     Categories: Committed Code, DragonFly     0 Comments

OpenSSL update


Peter Avalos has updated OpenSSL to 1.0.0c, to fix a recent security problem.  The problem doesn’t sound too catastrophic to my untrained ear, at least.

Posted by     Categories: Committed Code, DragonFly     0 Comments

Even more CPUs and RAM


Matthew Dillon has moved CPU support to 63 processors and 512G of RAM.  This may cause issues, he warns.  It’s also just barely working, so don’t expect to go into production with half a terabyte of RAM in the next few days.

Posted by     Categories: Committed Code, DragonFly     0 Comments

24 spare CPUs, anyone?


Matthew Dillon has made it possible to boot DragonFly on 24-CPU systems.  Also, we’re currently limited to 32G of RAM.  Oh, to have such limitations; I was considering myself lucky to have 4 CPUs.

Posted by     Categories: Committed Code, Device support, DragonFly     1 Comment

GCI work continues: sysctls


There’s now descriptions for a number of the net.inet.* sysctls, thanks to Taras Klaskovsky as part of Google Code-In.

Posted by     Categories: Committed Code, DragonFly, Google Code-In     1 Comment

SHA256 for passwords


Another Google Code-In task completed: passwords are now created using SHA256 (PDF link) by default, and libcrypt also now supports SHA512.

Posted by     Categories: Committed Code, DragonFly, Google Code-In     0 Comments

dmirror: the idea


Alex Hornung has added the basic work for dmirror, a software RAID-1 implementation into the tree, along with a concept description from Matthew Dillon.  It’s not ready for use yet; ready for development, though.

Posted by     Categories: Committed Code, DragonFly, Goings-on     0 Comments

The return of APIC_IO


APIC_IO is back as a kernel config option, though it just toggles the sysctl loader tunable default.  This is so a kernel config file with that option still set won’t cause an error.

Posted by     Categories: Committed Code, DragonFly     2 Comments

OpenSSL updated, more stats


Peter Avalos has committed his speedups for OpenSSL encryption (using assembly), along with a lot of numbers to show performance changes.  It’s definitely sped up, but the quantity of values is so large that you’d have to visualize it differently to get a summary I could show here.

Posted by     Categories: Committed Code, DragonFly     0 Comments