Messages in this thread | | | Date | Wed, 1 Jun 2005 19:16:15 -0400 | From | Joe Korty <> | Subject | Re: SD_SHARE_CPUPOWER breaks scheduler fairness |
| |
> 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |