Category: Committed Code

Hammer abort-cleanup added


Hammer will perform daily housekeeping tasks each night.  If you’re up late enough, it may kick off while you are working.  If you want to stop the process after it’s already started (since it’s disk-intensive), John Marino has added the ‘abort-cleanup‘ command.

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

Automatic encryption of swap


Experimental automatic crypting of swap is now available in DragonFly-master.  Recently added, though it may have been possible another way.

Posted by     Categories: Committed Code, DragonFly     1 Comment

Shut up ARP


Sepherosa Ziehau has introduced a new sysctl:

net.link.ether.inet.log_arp_creation_failure

Set this to zero and you won’t get endless ARP events from networks you aren’t on.  For example, I’m hooked up to a cable modem.  I only get a public routable IP address, but the network used for the cable modem network itself bleeds ARP packets out where my DragonFly machine can see it.  Since it’s on a different network segment than the address I receive through DHCP, it always fails and the system logs it.  For example:

May 11 05:20:52 www kernel: arplookup 100.68.112.145 failed: host is not on local network

I can’t do much about it since that layer 2 leakiness is going to happen, but I can shut it up with this sysctl – and thank goodness, cause I’ve been seeing these messages since first using a DOCSIS modem in… 2001 or so?

Posted by     Categories: Committed Code, DragonFly     1 Comment

Reblock all the things!


Tomohiro Kusumi has been quietly making a lot of commits to Hammer.  I haven’t been linking them because they don’t necessarily equate to new features, but here’s an recent exception: the -A argument will make your Hammer command run on every PFS.  It only affects reblocking/rebalancing – for now.

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

NFS and Hammer slaves


You can now export Hammer slave volumes as NFS mounts – but since slave volumes are updated from master, you’re mounting a snapshot of that point in time.  That may actually be an advantage.

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

Building only one compiler


DragonFly builds two compilers by default.  If you weren’t interesting in building both, there were switches to build only the default, like NO_GCC47.  This changed with every compiler update.

With the switch to GCC 5, the new switch is “NO_ALTCOMPILER”.  That will last through compiler changes.  I’m mentioning this now because sooner or later, you’ll want to gain back some time on a buildworld.

ACPICA update for DragonFly


The most recent (well, this is the mostest recent) update of ACPICA for DragonFly, by Sascha Wildner, is different from the usual import: it happens to include actual upstream support for DragonFly

Posted by     Categories: Committed Code, DragonFly     1 Comment

Hammer and Hammer2 details


I haven’t been drawing enough attention to it, but there’s been a bunch of HAMMER filesystem activity lately: First, Tomohiro Kusumi has been working on HAMMER – these posts are a small subset of his commits.  Second, Matthew Dillon has been working full steam ahead on HAMMER2.  The HAMMER2 design document has been updated (read this!), and he’s already accomplished master->slave disk syncing.

It’s not ready for production, of course, which you may already realize, so don’t install it unless you want to work on the code.

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

Info pages gone


Do you use info pages?  Yeah, me neither.  John Marino’s removed or converted the various info pages already in DragonFly, and removed texinfo since it’s no longer required.  (I’ve linked to a few examples, but there were a number more commits than this.)

Posted by     Categories: Committed Code, DragonFly     0 Comments

Blue bug, new shell


The default .cshrc in DragonFly has had some changes, which shouldn’t be anything but handy… assuming you are using tcsh.  Also: the loader menu defaults to a blue Fred, now.

Posted by     Categories: Committed Code, DragonFly     0 Comments

New binutils, faster build


In the process of committing binutils 2.25 to DragonFly, John Marino also broke its build into parallel parts and removed the build of the gold linker.  Buildworlds should be noticeably faster now, though I don’t have a before/after.

Posted by     Categories: Committed Code, DragonFly     0 Comments

New ipfw in DragonFly


Bill Yuan’s work on a new ipfw has been committed, and for clarity, called “ipfw3“.

Posted by     Categories: Committed Code, DragonFly     7 Comments

USB update


Matthew Dillon pulled in a new USB update from FreeBSD to DragonFly.  What does it change?  I’m not completely sure, but he did it to get apcupsd working, so that may be a hint.

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

DragonFly 4.0.3 out


DragonFly 4.0.3 has been tagged; you can look at the tagging message for details, but the major reason for doing so is to include OpenSSL-1.0.1l.  I will have images up soon.

Posted by     Categories: Committed Code, DragonFly     0 Comments

SCTP removed


DragonFly no longer has SCTP.  Nobody minds, I think – I had to look up what it is.

Posted by     Categories: Committed Code, DragonFly     1 Comment

Multiple disk speedup


The CAM layer in DragonFly has had its big lock removed/been marked MPSAFE, so you will notice a performance increase when using multiple disks.  (assuming you aren’t throughput-limited, of course.)

Posted by     Categories: Committed Code, DragonFly     3 Comments

V4-mapped addresses out, TCP MTU discovery in


Sepherosa Ziehau has posted a note that V4-mapped addressing is no longer supported in DragonFly.  You will need to do a full buildworld/buildkernel if you are running master.  Also, TCP MTU path discovery is on by default.  Also also, he’s added a SOL_SOCKET/SO_CPUINT socket option for use to reduce load in heavy network activity.  As usual, I don’t quite comprehend.

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

Installworld, no matter what


It’s possible, if you are several releases (years) behind, to end up with a DragonFly system that can’t compile and install the current release, due to incremental changes over time.  It’s rare, but it could happen now between, say, version 3.4 and 4.0.  The usual solution would be to incrementally upgrade in order, which is a lot of building and updating.  The alternative is the new installworld-force option from Matthew Dillon that forces a new set of binaries into place.  Use as a last resort.

Fred, in color


The DragonFly boot menu has been cleaned up a bit, and Fred, the dragonfly drawn on DragonFly, is now in better color.  In fact, there’s even an option to turn him blue.

Update: I wanted to see what this looked like, and I realized screenshots might help everyone else.

redfred

bluefred

Posted by     Categories: Committed Code, DragonFly     2 Comments

A pile of DragonFly commits


In an effort to reduce my backlog of DragonFly things to post about, here’s quick notes:

Posted by     Categories: Committed Code, DragonFly     0 Comments

svc(8), service manager for DragonFly


I’m running behind so this is a bit old, but: Matthew Dillon commited svc(8), a service manager program.  Take a look at its man page to see the potential uses.

Posted by     Categories: Committed Code, DragonFly     4 Comments

XHCI and installing DragonFly


With a recent commit from Sascha Wildner, DragonFly now loads XHCI (meaning USB3) by default.  If you had previously tried to install DragonFly via USB stick, and it inexplicably refused to mou t the installer drive…  It may work much better now.

Posted by     Categories: Committed Code, DragonFly     2 Comments

Several DragonFly updates


I’m working on the 4.0 release, but in the meantime, I wanted to point at a slew of updates from Sascha Wildner: ACPICA 20141107, pciconf(8), axge(4), and the kernel part of the netgraph7 Bluetooth stack.

 

Posted by     Categories: Committed Code, DragonFly     0 Comments

reapctl() added to DragonFly


Matthew Dillon’s added the reapctl() call, which gives a process control over all sub-processes, even when detached.  This is initally useful for bulk builds of dports, but can probably be extended farther…

Posted by     Categories: Committed Code, DragonFly     1 Comment

Chrome on DragonFly


Chrome runs on DragonFly now, apparently possible now because of this ported fix from Joris Giovannangeli.

Posted by     Categories: Committed Code, DragonFly     1 Comment

DragonFly DRM1 drivers dropped


As Francois Tigeot has pointed out, recent Mesa upgrades have made very old graphics drivers using DRM1 no longer work.  They’ve been removed.  This won’t affect you unless your graphics card is 10+ years old.

Posted by     Categories: Committed Code, DragonFly     1 Comment

/dev/upmap and /dev/kpmap added


Matthew Dillon has added /dev/upmap and /dev/kpmap to DragonFly in two commits.  (er, three.)  It’s an optimization of some sort, and it is unfortunately over my head.  Please, someone comment in a way that fills it in.  I’m tired.

Posted by     Categories: Committed Code, DragonFly     1 Comment

Out of base, into dports


John Marino updated wpa_supplicant (in dports).  He then suggested moving it out of base into dports, so that it could be updated independently of the base system.  (this update, for instance, took years.)   Since wpa_supplicant is necessary to get some systems online – and it can’t be installed if missing if you don’t have a network link – it may be too risky.  I think other packages could be moved out, myself.

Posted by     Categories: Committed Code, DragonFly     6 Comments

OpenSSH update and incompatibility


Robin Hahling volunteered to update OpenSSH in DragonFly, which is good news.  It’s a jump from version 6.1 to 6.7, so there’s some feature changes.  tcpwrappers support is gone, for instance.  If you have a reason to object to this change, speak up now.

Posted by     Categories: Committed Code, DragonFly     1 Comment

Pile of point upgrades


John Marino has upgraded gcc, libedit, xz, and grep in DragonFly.  Also, tzdata has jumped from version 2014e to 2014h, thanks to Sascha Wildner.

Posted by     Categories: Committed Code, DragonFly     0 Comments

UDP improvements


Sepherosa Ziehau’s recent changes to UDP in DragonFly mention some performance gains to sheer packet count.

Posted by     Categories: Committed Code, DragonFly     1 Comment

Lag!


Markus Pfeiffer has imported FreeBSD’s if_lagg to DragonFly.  It’s for talking LACP over multiple network ports, so that the traffic from those multiple ports can be aggregated – if what’s on the other end generally understands LACP.  (Failover mode may not count.)  Please test if you have that sort of surfeit of network ports.

Posted by     Categories: Committed Code, DragonFly, Please test     2 Comments

systat gains -altq display


You can now see the packets, bytes, and drops in altq by using the -altq arg to systat, thanks to this recent commit from Matthew Dillon.

Posted by     Categories: Committed Code, DragonFly     0 Comments

UDP improvements for DragonFly


This very long commit message from Sepherosa Ziehau details the UDP changes he’s made.  It’s mostly technical details, but at the end he mentions this little tidbit:

“For ‘kq_connect_client -u’ test, this commit gives 400% performance improvement (31Kconns/s -> 160Kconns/s).”

Posted by     Categories: Committed Code, DragonFly     0 Comments

An easier moused start


You can now start moused with an argument, so it will look at the right device.  In most cases, I imagine “/etc/rc.d/moused start ums0” will be what anyone wants.  Credit to Michael Neumann for the update.  Perhaps moused_flags="ums0" will do it too?  I haven’t tried yet.

This will overwrite your /etc/devd.conf.

Posted by     Categories: Committed Code, DragonFly     1 Comment

Full rebuild needed


Because of some structure changes made by Matthew Dillon while chasing a pf bug, you will need to do a full buildworld/buildkernel on your next update – if you are running DragonFly-master.  3.8 users are unaffected by the bug or the change.

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

New dhclient and other improvements


DragonFly’s dhclient will now retry failed interfaces and handle being re-run gracefully.  This is a blessing for anyone who has had a flaky link.  Matthew Dillon’s made two other improvements for booting that will also improve boot time when networks go missing.

Posted by     Categories: Committed Code, DragonFly     0 Comments

rcreload in DragonFly


Thanks to Zachary Crownover, rcreload is available in DragonFly.  (It’s always good to see a new contributor name.)

Posted by     Categories: Committed Code, DragonFly     0 Comments

libradius updates


Nuno Antunes brought in a significant number of fixes for libradius.  He’s been doing other work recently on netgraph7 support, so I’m linking to this as a ‘signpost’ commit.

Posted by     Categories: Committed Code, DragonFly     0 Comments

Improvements for qemu


While Matthew Dillon was testing the new up-to-256-processor support for DragonFly, he added a few sysctls, one of which helps qemu performance when emulating a lot of processors.  I note it here in case it’s helpful to someone else.

Reserving more memory


DRM (Direct Rendering, not Digital Rights) on DragonFly will normally eat all the memory it thinks it needs.  However, vm.dma_reserved can now be set to a fixed limit in /boot/loader.conf.   By default, vm.dma_reserved on DragonFly is set to 16M, and can be set higher.  I think this is necessary when running higher-resolution screens… Don’t quote me on that, though.

Posted by     Categories: Committed Code, DragonFly     2 Comments

New random algorithms, implementation


Alex Hornung has added a ChaCha algorithms and Fortuna-based CSPRNG to DragonFly’s random device.  You can pick what runs with the sysctl kern.rand_mode, and some other changes.

Posted by     Categories: Committed Code, DragonFly     1 Comment

Default DragonFly/pf keep-policy changed


Matthew Dillon changed the default keep-policy in DragonFly to:

set keep-policy keep state (pickups, sloppy)

This is to match other BSDs (which?  I don’t know) and reduce overhead, according to the commit.

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

pf no longer single-threaded


Predrag Punosevac noticed that turning on pf was slowing his machine down.  Rearranging the rules fixed a lot of it for him.  However, Matthew Dillon decided it was time to make pf work concurrently instead of in a single thread, and 24 hours later, it does.  Quick, someone benchmark this!

Posted by     Categories: Committed Code, DragonFly     6 Comments

UDP test, UDP improvements


Sepherosa Ziehau implemented a UDP echo response tool, which not surprisingly meant he also had some UDP performance improvements.  As he points out in the commit, it makes lockless firewall state tables possible.

Posted by     Categories: Committed Code, DragonFly     0 Comments

Random number generator changes


The obvious joke should be “how can you tell?”  Anyway, the csprng in DragonFly has been updated and IBAA is being used more often, and there’s more updates on the way.

Posted by     Categories: Committed Code, DragonFly     0 Comments

GSI CPU Autoselection


Sepherosa Ziehau has enabled GSI target CPU auto selection, by default, on x86_64.  He says to let him know if there’s problems.  I’m not sure what form the problems would take, cause I’m not sure what this does.

Posted by     Categories: Committed Code, DragonFly, Heads Up!     1 Comment

Updates for libpcap, file


libpcap has been updated in DragonFly by Matthew Dillon, and file has been updated by Peter Avalos.

Posted by     Categories: Committed Code, DragonFly     0 Comments

Goodbye, ATM


ATM support is gone in DragonFly, and frankly, I’m surprised it was still there.

Posted by     Categories: Committed Code, DragonFly     0 Comments

ACPICA updated to 20140424


Sascha Wildner’s updated ACPICA to version 20140424.  Will that help you?  Perhaps with newer motherboards; otherwise check the changelog.

Posted by     Categories: Committed Code, DragonFly     0 Comments

Dynamic binaries arrive


Here’s the announcement from Francois Tigeot: DragonFly now uses dynamic binaries in the root filesystem.  You will need to do a full buildworld/buildkernel if on 3.7 and upgrading.

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

Rescue initrd added


DragonFly now has a ‘rescue’ system added in, which also functions as a way to mount encrypted filesystems.  Does PAM work yet?  I don’t know; I may be linking to this earlier than I need to.

Posted by     Categories: Committed Code, DragonFly     2 Comments

tcplay updated to 2.0


Alex Hornung has updated tcplay in DragonFly to 2.0, and cryptdisks is updated to match.  If you have a short memory, tcplay(8) is the tool on DragonFly to manage TrueCrypt volumes.  Is DragonFly the only BSD to have this?  I think so, based on very few seconds of googling.

Posted by     Categories: Committed Code, DragonFly     1 Comment

Connection speedup for x86_64


A recent commit from Sepherosa Ziehau has a 5% improvement in the number of network connections per second a x86_64 machine can accept.  He’s also reducing the number of IPIs during network activity.  If this seems somewhat esoteric, it’s because network speeds are getting so fast that the benefits come from reducing the accompanying CPU load.

Posted by     Categories: Committed Code, DragonFly     0 Comments

tzdata2014a and an odd thing


Sascha Wildner updated the time zone database on DragonFly to tzdata2014a.  The odd thing isn’t that update – Sascha updates like clockwork, haha! – but the release notes.  Apparently Even Microsoft is starting to support time zone names, sorta, finally.

Posted by     Categories: Committed Code, DragonFly     0 Comments

Building world for 3.7 users


If you’re on DragonFly 3.7, you will need to build world before building the kernel again if you are updating to some point in the last 24 hours.  Sascha Wildner points out the related commit.

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

ACPICA 20140214 brought in


Sascha Wildner brought in ACPICA 20140214, and his commit message has a list of the updates.

Posted by     Categories: Committed Code, DragonFly     3 Comments

Clockmod replaces p4tcc


See the announcement, and the commit.  I’m not totally sure what this affects.

Posted by     Categories: Committed Code, DragonFly     0 Comments

ACPICA-20140114 added


There seems to be a lot of ACPI-related updates lately: Sascha Wildner has updated ACPICA in DragonFly to what I think is the very latest version.  See his commit for the differences.

There really is a daemon in there


John Marino updated daemon(8) on DragonFly.  For some reason, I didn’t know it was a standalone program.  I knew about the idea of daemons as helpers based inside the computer, which is why so many server programs end with a ‘d’ – sshd, ftpd, and so on.  Inexplicably, I never actually saw the program itself.

Posted by     Categories: Committed Code, DragonFly     1 Comment

Other network improvements


Sepherosa Ziehau is continually trying to squeeze more network performance into DragonFly.  I’m not always so good at pointing it out, but here’s several commits from him that improve performance on several chipsets.

Posted by     Categories: Committed Code, DragonFly     0 Comments

Netmap on the way


Franco Fitchner is bringing in netmap to DragonFly.  I don’t think it’s complete yet.

Posted by     Categories: Committed Code, DragonFly     0 Comments

GSoC: SysV IPC code added in


Markus Pfieffer has committed Larisa Grigore’s Google Summer of Code work, “SysV IPC in userspace”.  It’s been a bit since the event finished, but it’s in DragonFly now.

mdocml updated to 1.12.3


Franco Fitchner has updated mdocml in DragonFly to 1.12.3.   The changelog is right on the front page of the vendor site.

Update: Undeadly has a nice summary of the changes.

Posted by     Categories: Committed Code, DragonFly     0 Comments

Discontented with contention? Be content.


Matthew Dillon wrote a roundup post summarizing all the changes he’s made to DragonFly to improve SMP performance in the last few weeks.  He’s removed almost all contention from DragonFly.  This means better performance, scaling upward depending on the number of processors.

‘monster’, the system that builds all 20,000 items in dports, can complete the run in 15 hours.  Compare this to the 2 weeks it used to take me to build the 12,000 packages in pkgsrc.  This is admittedly on different hardware and different packaging systems, but it gives a sense of the scale of the improvement.

 

Posted by     Categories: Committed Code, DPorts, DragonFly, pkgsrc     4 Comments

Possible to poweroff


The ‘poweroff’ command, the equivalent of ‘halt -p’, has been added based on a suggestion from Robin Hahling.

Posted by     Categories: Committed Code, DragonFly     2 Comments

SMP contention improvements


Matthew Dillon was using poudriere, the dports build tool, on a 48-core system.  Poudriere was building all 20,000+ dports, so the machine was quite busy.  He decided to get rid of as much contention as possible, and he’s listed all the ways DragonFly’s been streamlined by these efforts.  We need to revisit some of our previous benchmarks

Posted by     Categories: Committed Code, DragonFly     2 Comments

Continuous dmesg


If you’re watching for a certain event, dmesg(8) on DragonFly now has a -f flag that will display new output as it’s logged, sort of like ‘tail -f’.

Posted by     Categories: Committed Code, DragonFly     0 Comments

Memory statistics changes


While looking for a different bug, Matthew Dillon made some changes in the way memory usage is totaled in DragonFly.  You’ll see this most when using ‘systat -vm 1′ or ‘vmstat’, probably.

Posted by     Categories: Committed Code, DragonFly     0 Comments

gdb, kgdb updated


John Marino has accomplished the major task of updating gdb/kgdb, to version 7.6.1 for DragonFly.

Posted by     Categories: Committed Code, DragonFly     0 Comments

Huge locale changes; full buildworld needed


John Marino has put in a large patch to DragonFly 3.5, updating all sorts of language-related items.  As he warns, you will need a full buildworld/buildkernel in a specific order to update.  On the plus side, you can now probably use your native language for nvi and for git.

Posted by     Categories: Committed Code, DragonFly, Heads Up!     1 Comment

Summer of Code projects getting committed


Matthew Dillon’s committed the work by Daniel Flores on Hammer 2 compression and Mihai Carabas’s vkernel hardware support – both Summer of Code projects.  There’s a good amount of detail in the commit messages describing the work and what it changed; I expect more Summer of Code work to be getting committed…

Note: you’ll want to do a full update.

New systat features


It’s now possible to use systat(1) to see per-connection speeds and pftop status, thanks to Matthew Dillon.

Posted by     Categories: Committed Code, DragonFly     1 Comment

New filesystem for vkernels


Antonio Huete Jimenez has committed his work on “dirfs”, a filesystem that lets you mount directories from your host machine within the running vkernel environment.  It’s a sort of shared folders for vkernels.  See the commit message for usage details.

Posted by     Categories: Committed Code, DragonFly     0 Comments

TTM arrives for DragonFly


Francois Tigeot has ported TTM to DragonFly from FreeBSD and I think a bit from OpenBSD.  All this work has led to an update in the driver porting notes.

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

Just kill everything


killall -T will now kill all processes associated with the current tty, except parents of the killall process itself.  It’s a shortcut to “kill all these runaway items I started by accident”.

Routing stability changes


Apparently Sepherosa Ziehau has been improving DragonFly’s route table performance under extremely heavy load.  (e.g. run efficiently; don’t die)  I don’t have a definitive commit message to point at, but looking at his recent commits are a good start.

Posted by     Categories: Committed Code, DragonFly     0 Comments

Netperf and Jain’s fairness index


Thanks to Sepherosa Ziehau, Netperf will now calculate Jain’s fairness index.  That is a formula that is both interesting and unfamiliar to me.  Not that I understand it, of course – it’s just because it has a neat name.

Posted by     Categories: Committed Code, DragonFly     0 Comments

Recompile needed for DragonFly 3.5 users


Because Sepherosa Ziehau changed mbstat, anyone on bleeding-edge DragonFly will need to rebuild world, or else netstat will become confused.

Posted by     Categories: Committed Code, DragonFly, Heads Up!     1 Comment

New timer available


There’s support for a new timer mechanism in DragonFly 3.5, for x86_64 users: TSC.  Sepherosa Ziehau added support and has described how to disable it – it’s on by default.  It speeds up some very basic (and frequently used) system calls.

Posted by     Categories: Committed Code, DragonFly     0 Comments