Sunday, April 26, 2015

linux-4.0.y-gc updates

All needed patches are set, here are the changes

1. Add a [Sync] patch for 0462, that is bfs: [Sync] __schedule() and io_schedule_timeout()
2. bfs: [Sync] sched_setscheduler() logic, v2
*Refine the code in check_task_change()
3. bfs: [3/3] priodl to speed up try_preempt(), V2
*V2 rq's priodl store in grq.rq_priodls array, for 32bits system, grq.priodl_lock needs to be held for r/w.
4. bfs: Full cpumask based and LLC sensitive cpu selection, V2
* V2 Fix issue when SMP config enabled, but non of SMT or MC config is
* Add enhancement code for cpu hotplug, for the case the cpu is idle when it goes offline, which will cause grq.cpu_idle_map still be set.

Remove the patch for IBM thinkpad KB, upstream has fixed the issue.

Link location

Have fun with linux 4.0

BR Alfred


  1. Booted OK for me. Will test more. Thanks.

  2. Sorry, that I'm late with my test results.

    Your 4.0.y-gc code is working fine on my machine.

    The reason for beeing late is, that tuxonice for 4.0.0 code has gotten much more unreliable. And I needed to verify, if I had made a wrong patch from Nigel's github. Still no official release patch from him? Also, the github download of a zip file (of Nigel's tree/branch) sometimes omits files. Bah!
    Tuxonice's unreliability is, that when it hangs/sticks, it most times sticks when doing atomic copy/restore on here after suspend to disk/ hibernate. With the 3.19 version of tuxonice I was able to retry the saved image, and most times was lucky to get my system back either immediately or after some attempts.

    Someone still needs to explain, why attempt 1 (failing) to load the image differs from attempt 8 (working) !

    The tuxonice for 4.0.0 had an extra failure possibility on here. It just made the system hang, when X got up again after hibernation. But at that late stage, the hibernation image is gone forever.

    I ended up with modifying the 3.19 tuxonice patch for use on a 4.0.x kernel, that is now working well. Possible to retry the image more than 7 times... but to get my system back working @ No.8 (!) and no hangups when X gets up.

    Best regards,

  3. I'd suggest you return nothing instead of NULL in try_preempt() function:

    as it has void type.

    1. Thanks for pointing it out. I never enable SMT_NICE. Will plan an sync up to 4.0.2 this weekend and this fix will be included.

      BR Alfred