diff options
| author | Ingo Molnar <mingo@elte.hu> | 2008-03-15 12:10:34 -0400 |
|---|---|---|
| committer | Ingo Molnar <mingo@elte.hu> | 2008-03-18 23:27:53 -0400 |
| commit | f540a6080a092e2ab69fd146c308022db7347b0a (patch) | |
| tree | 12dda1ecd63adb17cf06db61712a113cf6990037 /kernel | |
| parent | 4ae7d5cefd4aa3560e359a3b0f03e12adc8b5c86 (diff) | |
sched: wakeup-buddy tasks are cache-hot
Wakeup-buddy tasks are cache-hot - this makes it a bit harder
for the load-balancer to tear them apart. (but it's still possible,
if the load is sufficiently assymetric)
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/sched.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/kernel/sched.c b/kernel/sched.c index adbd475cfd25..3f7c5eb254e2 100644 --- a/kernel/sched.c +++ b/kernel/sched.c | |||
| @@ -1396,6 +1396,12 @@ task_hot(struct task_struct *p, u64 now, struct sched_domain *sd) | |||
| 1396 | { | 1396 | { |
| 1397 | s64 delta; | 1397 | s64 delta; |
| 1398 | 1398 | ||
| 1399 | /* | ||
| 1400 | * Buddy candidates are cache hot: | ||
| 1401 | */ | ||
| 1402 | if (&p->se == cfs_rq_of(&p->se)->next) | ||
| 1403 | return 1; | ||
| 1404 | |||
| 1399 | if (p->sched_class != &fair_sched_class) | 1405 | if (p->sched_class != &fair_sched_class) |
| 1400 | return 0; | 1406 | return 0; |
| 1401 | 1407 | ||
