Announcing a resync and update of BFS for linux-3.18
BFS by itself:
-ck branded linux-3.18-ck1 patches:
Uncharacteristically I found time to resync up quickly for this latest stable linux release. There are no new BFS features, but there have been a number of changes to stay in sync with mainline. Apart from keeping up with the usual churn in new releases, of which there was a modest amount this time, a number of other low level changes were committed making this much less of a trivial resync so some caution is warranted before blindly updating.
Hilf Danton pointed out a bug in the yield_to code (thanks!) which is now fixed. Since almost nothing uses this code you probably won't notice anything. He also pointed out some other now outdated components in BFS which are also updated. The above_background_load function has also been removed since
the VM tweaks in older -cks no longer exist to use it.
More substantially, I've reworked the plugged I/O code to match mainline now, which
I had been reluctant to touch previously because of the deadlocks the
unlocking and relocking in the scheduler code path introduced when the
the first plugged I/O code made its way into BFS needing iterations of
fixes - watch for any I/O misbehaviour/stalls. There are some changes to how mainline responds to idle CPUs so watch for any unusual behaviour there.
Having said that I've been using it for a while and not noticed anything out of the ordinary, but please report back if there are any issues.