lkml.org 
[lkml]   [2012]   [Jun]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] sched: balance_cpu to consider other cpus in its group as target of (pinned) task migration
From
Date
On Mon, 2012-06-04 at 18:37 +0530, Srivatsa Vaddagiri wrote: 
> * Mike Galbraith <efault@gmx.de> [2012-06-04 14:47:43]:
>
> > You need a good reason to run RT, and being able to starve others to
> > death ain't it, so I don't see a good reason to care about the 95% case
> > enough to fiddle with load balancing to accommodate the oddball case.
>
> While starvation of SCHED_OTHER task was an extreme case, the point
> remains that SCHED_OTHER tasks are better served by moving them away
> from cpus running rt tasks that are partially cpu intensive. While the
> current code has the nuts and bolts to recognize this situation
> (scale_rt_power), it fails to effect SCHED_OTHER task movement because of how
> one cpu from a sched_group is designated to pull tasks on behalf of its
> siblings and that chosen balance_cpu may not be in the task's cpus_allowed mask
> (but the task can run on one or more of its sibling cpus).

Yeah, this is true, it is a latency source and a fairness violation.
Slow path balance consideration does make some sense to me.

But, if you have an RT requirement, you can't afford to mix unknown
entities, nor over-commit etc. A realtime application will assign all
resources, so the load balancer becomes essentially unemployed. No?
Non critical worker-bees may be allowed to bounce around in say a
cpuset, but none of the CPUs which do critical work will ever be
over-committed, else application just lost the war. In that regard,
twiddling the load balancer to accommodate strange sounding case still
seems wrong to me.

-Mike



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