More on the Himeno Phoronix benchmark, and memory allocation

If you recall, Phoronix recently ran a bunch of benchmarks on DragonFly.  One spot that didn’t look good was the “Himeno Poisson Pressure Solver”.  I’m no closer to knowing what capability it actually tests other than itself, but Alex Hornung, Matt Dillon, and Venkatesh Srinivas figured out that cache coloring was the missing ingredient.  DragonFly now scores the same as Linux.

Tangentially related, this cache coloring is happening in nmalloc, which is now used on 64-bit DragonFly systems.  The previous one, dmalloc, had problems in long-running programs.

IFQ packet staging mechanism added

I’m not sure what IFQ stands for, but Sepherosa Ziehau’s added it.  It appears to be based on an idea from Luigi Rizzo called ‘netmap‘.  In this case, network packets are grouped together before being placed onto the network interface’s hardware queue.  That means better packet per second performance without a corresponding increase in CPU usage, as Sepherosa Ziehau’s report lists, along with needed sysctls.

ISO639 update, of all things

I knew about files like /etc/services, for common IP port usages, and /usr/share/zoneinfo, for time zones, but I didn’t know that DragonFly (along with other systems) keeps a list of agreed names for various human languages defined by ISO639 in /share/misc/iso639, and it’s maintained at least in part by the Library of Congress.  At least I didn’t know until Sascha Wildner updated it.

Updated: Birthstones and flowers.  Don’t know why.

Two very specific tools, upgraded

If you are one of the few people still wanting to read an OS/2 HPFS drive, support for it in DragonFly has been updated by Antonio Huete Jimenez.  It’s read-only, but writing didn’t work well, and I’d be surprised if there’s any hpfs disks that aren’t archival, out there.

Also, Sepherosa Ziehau has updated the pktgen program to generate even more packets, even at relatively low CPU clock speeds.

Holy crap, look at those numbers

Remember the new scheduler work?  Well, it continued, and now Francois Tigeot has posted pgbench benchmarks of the progress and benchmarks of DragonFly vs. other operating systems.  The links are to PDFs; scroll down as each have multiple pages.

The summary result: If you’re running Postgres, you probably want to do it on DragonFly.  The numbers are the best results for any BSD,  even better to some extent than Linux, which has had its own issues with schedulers and Postgres.  DragonFly 3.2 will include these improvements.

gcc 4.7 in, gcc 4.1 out

John Marino has accomplished the difficult task of putting gcc 4.7 into DragonFly.  Version 4.4 is still the default, and the older 4.1 version has been disabled.  If you want to try this newer version, setting WORLD_CCVER=gcc47 will build kernel and world that way too.  If you’re curious about what’s different in this version of gcc, there’s a 4.7 changelog.

Are we the only BSD with this new a version in base?  I think so.

P.S.: You’ll want to do a full buildworld if you’re running DragonFly 3.1

P.P.S.: you may need to put ‘NO_GCC47=true’ in make.conf, going from IRC comments.

P.P.P.S.: Nope, now it’s fine.