[RFC PATCH 0/2] sched: simplify the select_task_rq_fair()

From: Michael Wang
Date: Fri Jan 11 2013 - 03:15:45 EST


This patch set is trying to simplify the select_task_rq_fair() with
schedule balance map.

After get rid of the complex code and reorganize the logical, pgbench show
the improvement.

Prev:
| db_size | clients | tps |
+---------+---------+-------+
| 22 MB | 1 | 4437 |
| 22 MB | 16 | 51351 |
| 22 MB | 32 | 49959 |
| 7484 MB | 1 | 4078 |
| 7484 MB | 16 | 44681 |
| 7484 MB | 32 | 42463 |
| 15 GB | 1 | 3992 |
| 15 GB | 16 | 44107 |
| 15 GB | 32 | 41797 |

Post:
| db_size | clients | tps |
+---------+---------+-------+
| 22 MB | 1 | 11053 | +149.11%
| 22 MB | 16 | 55671 | +8.41%
| 22 MB | 32 | 52596 | +5.28%
| 7483 MB | 1 | 8180 | +100.59%
| 7483 MB | 16 | 48392 | +8.31%
| 7483 MB | 32 | 44185 | +0.18%
| 15 GB | 1 | 8127 | +103.58%
| 15 GB | 16 | 48156 | +9.18%
| 15 GB | 32 | 43387 | +3.8%

Please check the patch for more details about schedule balance map, they
currently based on linux-next 3.7.0-rc6, will rebase them to tip tree in
follow version.

Comments are very welcomed.

Test with:
12 cpu X86 server and linux-next 3.7.0-rc6.

Michael Wang (2):
[PATCH 1/2] sched: schedule balance map foundation
[PATCH 2/2] sched: simplify select_task_rq_fair() with schedule balance map

Signed-off-by: Michael Wang <wangyun@xxxxxxxxxxxxxxxxxx>
---
core.c | 61 +++++++++++++++++++++++++++++
fair.c | 133 +++++++++++++++++++++++++++++++++-------------------------------
sched.h | 28 +++++++++++++
3 files changed, 159 insertions(+), 63 deletions(-)

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/