Re: SD_SHARE_CPUPOWER breaks scheduler fairness

From: Joe Korty
Date: Wed Jun 01 2005 - 18:33:43 EST



> On Thu, 2 Jun 2005 04:41, Steve Rotolo wrote:
> > I guess the bottom-line is: given N logical cpus, 1/N of all
> > SCHED_NORMAL tasks may get stuck on a sibling cpu with no chance to
> > run. All it takes is one spinning SCHED_FIFO task. Sounds like a bug.
>
> You're right, and excuse me for missing it. We have to let SCHED_NORMAL tasks
> run for some period with rt tasks. There shouldn't be any combination of
> mutually exclusive tasks for siblings.
>
> I'll work on something.

Wild thought: how about doing this for the sibling ...

rp->nr_running += SOME_BIG_NUMBER

when a SCHED_FIFO task starts running on some cpu, and
undo the above when the cpu is released. This fools
the load balancer into _gradually_ moving tasks off the
sibling, when the cpu is hogged by some SCHED_FIFO task,
but should have little effect if a SCHED_FIFO task takes
little cpu time.

Regards,
Joe
--
"Money can buy bandwidth, but latency is forever" -- John Mashey


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