Sunday, August 16, 2015

4.1 VRQ branch rework finished

Here are the new commits added to vrq branch(in reverse order)

2a8eea0 bfs: vrq: grq.lock free schedule for deactivate code path
8e1ae7c bfs: vrq: grq.lock free context switch for prev==idle path
34c262f bfs: vrq: refine task_preemptable_rq().
22ce18c bfs: vrq: [3/3] preempt task solution, v1.2
79265ca bfs: vrq: [2/3] introduce xxxx_choose_task() in __schedule().
fc44466 bfs: vrq: [1/3] RQ on_cpu states v1.1
be4207e bfs: vrq: refine rq->prq/w_prq as rq->try_preempt_tsk
f4aeee0 bfs: vrq: remove unused unsticky_task.
9c53147 bfs: vrq: Fix vrq solution 0.5 UP compile issue

Both bitbucket and github are updated! The most important objective of this release is stability. I got a new HW platform which found stability issues that can't be found in old platforms, and I believed the major ones have been fixed.

There still three key features on vrq branch as mentioned in vrq-04-update-for-linux-40y. But the cache count solution has advanced a little bit. Now the responsible commit is
ed20056 bfs: vrq: [2/2] scost for task caching v0.7

which is a replacement for the sticky_task design in origin bfs. I'll start another topic for it.

Now, all commits are set for vrq 4.1 branch. Benchmark will be run this week since there are many toolchain upgrade for my distribution in this release. Looking forward, next week 4.2 will be out and hopefully there will be less sync up work to spend more time on new commits.

BR Alfred


  1. First notes: Compiles fine, boots everything and the system is running pretty well. TuxOnIce hibernation also works. (Again, I'm running it with:

    Great work, thank you!

    BR Manuel Krause

  2. 4 days in use and still _NOT_ ANY issues at all. It's with kernel 4.1.6, BFQ, TuxOnIce and sched_submit_work.patch. As I don't benchmark, I can only say that I subjectively don't see/ feel performance and interactivity regressions.

    Btw., I've thought about making a test with the VRQ branch and the 4.1_0463_1_revert_unplugged.patch in comparison, but the patch isn't made for VRQ and I don't know how to safely change the hunk #3 around "grq_unlock_irq();".
    Can you, please, either advise me how to edit the code safely (maybe provide a VRQ approved patch) -- or simply tell me not to test this.

    BR Manuel

    1. I'll out of town for this weekend and have no access to the keyboard. And 4.2 will be released this weekend, so I will due with this patch next cycle.