Re: [PATCH] sched: balance_cpu to consider other cpus in its groupas target of (pinned) task migration

From: Mike Galbraith
Date: Mon Jun 04 2012 - 10:30:34 EST


On Mon, 2012-06-04 at 18:37 +0530, Srivatsa Vaddagiri wrote:
> * Mike Galbraith <efault@xxxxxx> [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

--
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/