lkml.org 
[lkml]   [2012]   [Jun]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] sched: balance_cpu to consider other cpus in its group as target of (pinned) task migration
* Mike Galbraith <efault@gmx.de> [2012-06-04 16:41:35]:

> But high priority SCHED_OTHER tasks do not hog the CPU, they get their
> fair share as defined by the user.

Consider this case. System with 2 cores (each with 2 thread) and 3
cgroups :

A (1024) -> has 2 tasks (A0, A1)
B (2048) -> has 2 tasks (B0, B1)
C (1024) -> has 1 tasks (C0 - pinned to CPUs 1,2)

(B0, B1) collectively are eligible to consume 2 full cpus worth of
bandwidth, (A0, A1) together are eligible to consume 1 full-cpu
worth of bandwidth and finally C0 is eligible to get 1 full-cpu worth of
bandwidth.

Currently C0 is sleeping as a result of which tasks could be spread as:

CPU0 -> A0
CPU1 -> A1

CPU2 -> B0
CPU3 -> B1

Now C0 wakes up and lands on CPU2 (which was its prev_cpu).

CPU0 -> A0
CPU1 -> A1

CPU2 -> B0, C0
CPU3 -> B1

Ideally CPU1 needs to pull it C0 to itself (while A1 moves to CPU0). Do
you agree to that? I doubt that happens because of how CPU0 does load
balance on behalf of itself and CPU1 (and thus fails to pull C0 to its
core).

- vatsa



\
 
 \ /
  Last update: 2012-06-04 17:42    [W:0.057 / U:1.504 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site