Sunday 2 January 2011

BFS version 0.363

Welcome to 2011!

The testing on BFS ported to 2.6.37-rc8 has been reassuring, and no real show stopper bugs have shown up. The remaining changes required to make it release ready for 2.6.37 have now been committed, along with some other very minor changes, so I've bumped the version up to 0.363. The main change was implementing the fine grained interrupt accounting which will have very little, if any, impact on regular users. These changes are ONLY suitable for 2.6.37, so they have not been ported back to the BFS I'm maintaining for earlier kernels. The rest of the changes suitable for older kernels have gone into 363 for them.

Here is the changelog as it affects existing BFS 360 users:
Make CPU offlining more robust by simply removing all affinity for processes
that no longer have any CPUs they can run on. This allows the machine stop
thread to complete offlining CPUs and makes for a little less overhead in hot
paths.

Allow SCHED_IDLEPRIO to wake up idle CPUs in try_preempt. This would have
caused minor slowdowns for IDLEPRIO tasks only on relatively quiescent systems.

Remove inappropriate likely()s.

Update cpustat for irq - may have been under-reporting interrupt load.

Cosmetic changes.

Bump version to 0.363

Most of these changes should have no visible behavioural effect to the user, apart from the following:

For those on BFS 360, if you were having warnings or even OOPSes on suspend to ram/disk or wakeup from them, or if you were having trouble suspending or resuming, this change might help.

The other change guarantees that CPUs will be busier on SMP machines when tasks are being run IDLEPRIO, so it will increase throughput, but ONLY if you run tasks IDLEPRIO.


Incremental: 2.6.36-bfs-360-363.patch

For 2.6.36ish:
2.6.36-sched-bfs-363.patch

2.6.35.10:
2.6.35.10-sched-bfs-363.patch

2.6.32.27:
2.6.32.27-sched-bfs-363.patch

Shortly I'll be going to Japan for a few weeks as I do almost every year now, so I'll be offline for a while.

10 comments:

  1. Awesome, thanks. Have fun in Japan, wish I was there! :)

    ReplyDelete
  2. Wow! Thank you!

    ReplyDelete
  3. Happy New Year !

    Have a nice trip & fun in Japan :)

    Thanks !

    ReplyDelete
  4. Will there be a -ck patch for 2.6.37?

    ReplyDelete
  5. what are you talking about ?

    of course there will:

    http://ck-hack.blogspot.com/2010/12/bfs-for-2637-rc8.html

    ReplyDelete
  6. For linux-2.6.36 there is a stable queue where is

    sched-cure-more-no_hz-load-average-woes.patch
    at
    http://git.kernel.org/?p=linux/kernel/git/stable/stable-queue.git;a=blob;f=queue-2.6.36/sched-cure-more-no_hz-load-average-woes.patch;h=b4b4a5d4fb299801fb4f59b661c006c2b1cedd6c;hb=de3bbc38f80fd3a8c3944adfedc4ec879124dd1f

    Did You talk about this in your last Blog for 2.6.37 ?

    ReplyDelete
  7. I did mention it, but load average is calculated differently on BFS so I can't really tell if this change is of any benefit or not unless someone has problems with load reporting and NOHZ on BFS.

    ReplyDelete
  8. @kernelOfTruth
    There's nothing about a -ck patchset for 2.6.37 on that link you posted.

    ReplyDelete
  9. Yes, -ck will be released for 2.6.37 when it's out, assuming I haven't left yet for my trip.

    ReplyDelete
  10. @RealNC:

    sorry,
    yeah, that was only BFS - I should have written:

    if there's a BFS release - there's also a ck-patchset ;)

    @ck:

    thanks !

    I hope you'll also create a broken-out version of that :)

    ReplyDelete