Mike Galbraith wrote:
On Sat, 2006-05-27 at 10:16 +1000, Peter Williams wrote:
Mike Galbraith wrote:
On Fri, 2006-05-26 at 23:59 +1000, Peter Williams wrote:
Con Kolivas wrote:
On Friday 26 May 2006 14:20, Peter Williams wrote:
This patch implements hard CPU rate caps per task as a proportion of a
single CPU's capacity expressed in parts per thousand.
A hard cap of 1/1000 could lead to interesting starvation scenarios where a
mutex or semaphore was held by a task that hardly ever got cpu. Same goes to
a lesser extent to a 0 soft cap.
Here is how I handle idleprio tasks in current -ck:
http://ck.kolivas.org/patches/2.6/pre-releases/2.6.17-rc5/2.6.17-rc5-ck1/patches/track_mutexes-1.patch
tags tasks that are holding a mutex
http://ck.kolivas.org/patches/2.6/pre-releases/2.6.17-rc5/2.6.17-rc5-ck1/patches/sched-idleprio-1.7.patch
is the idleprio policy for staircase.
What it does is runs idleprio tasks as normal tasks when they hold a mutex or
are waking up after calling down() (ie holding a semaphore).
I wasn't aware that you could detect those conditions. They could be
very useful.
Isn't this exactly what the PI code is there to handle? Is something
more than PI needed?
AFAIK (but I may be wrong) PI is only used by RT tasks and would need to
be extended. It could be argued that extending PI so that it can be
used by non RT tasks is a worthwhile endeavour in its own right.
Hm. Looking around a bit, it appears to me that we're one itty bitty
redefine away from PI being global. No idea if/when that will happen
though.
It needs slightly more than that. It's currently relying on the way
tasks with prio less than MAX_RT_PRIO are treated to prevent the
priority of tasks who are inheriting a priority from having that
priority reset to their normal priority at various places in sched.c.
So something would need to be done in that regard but it shouldn't be
too difficult.
Peter
--
Peter Williams [email protected]
"Learning, n. The kind of ignorance distinguishing the studious."
-- Ambrose Bierce
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]