Friday, September 12, 2014

Branches sync-up with 3.16.2

-bfs 

This branch is for bfs related development, which consider stable and apply upon original bfs code.

Changes:

-- Find a regression commit and revert it at this time.
-- Sync up with mainline 3.16.2

linux-3.16.y-bfs

-vrq 

This branch is for bfs vrq solution development, it should be considered experimental and just use for testing.

Changes:
-- Sync up with mainline 3.16.2
-- Rebased latest -bfs branch.
-- Add some bug fix to vrq code.

linux-3.16.y-vrq

-gc

Changes:

-- sync up with mainline 3.16.2
-- merge -bfs branch instead of tracing all bfs related commits.

linux-3.16.y-gc

3 comments:

  1. At the moment I'm a bit confused to decide which of these branches to use at first. -gc or -bfs? I compared the patches being available from you for BFS before this update -- but, so far, not in depth, not looking into the code, and I'm missing some ones. Did you merge those / integrated them into the others or abandoned them? So, don't misunderstand "missing".

    "Missing" in -bfs:
    * Refine locality to ranking and siblings cache idle code
    * locality doesn t need to be kmalloc
    * Remove get_cpu put_cpu in try_to_wake_up
    * Remove unnecessary resched_suitable_idle in schedule
    * Fix runqueues decarelation
    * Doesn_t reschedule idle or deactivated task

    Added in -bfs:
    + Refine resched_best_idle call logic in schedule

    [As it doesn't make sense to discuss the commit numbers on here I wrote filesystem-friendly topic abbreviations to the patch-files' names to quickly retrieve them. So you might miss some () or =! in the list above.]

    Best regards,
    Manuel Krause

    ReplyDelete
    Replies
    1. @Manuel
      -bfs branch is used for my bfs development, every individual commit is on it.
      -gc branch doesn't trace every individual commits, just merge the -bfs branch.

      * Refine locality to ranking and siblings cache idle code
      * locality doesn t need to be kmalloc
      It seems that this commit cause regression based on testing. So I have decided to revert it at this time and try to work it out in next release.

      * Remove get_cpu put_cpu in try_to_wake_up
      should be merged into [BFS] Sync up try_to_wake_up* functions

      * Remove unnecessary resched_suitable_idle in schedule
      is merged into * Doesn_t reschedule idle or deactivated task and it's a separate commit in -gc b/c it provide great performance boost and I want it to be easy be seem and be merged.

      * Fix runqueues decarelation
      is merged into other commit that I can't remember, but it's there.

      Thanks for your careful investigation. :)

      Delete
    2. Thanks for your quick clarification. If I had looked closer at the code I wouldn't have needed to bother you ;-) Except for the two patches you plan to rework, all the "missing" code is there, with respect to your changes.
      (Btw, the * Fix runqueues declaration code is now in * Make cpu_rq cpu a macro instead of a function call.)

      The -bfs branch is now running for ~18h without problems, thank you,

      Manuel

      Delete