lkml.org 
[lkml]   [2006]   [May]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC 3/5] sched: Add CPU rate hard caps
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.

> These two in
> combination have shown resistance to any priority inversion problems in
> widespread testing. An attempt was made to track semaphores held via a
> down_interruptible() but unfortunately the lack of strict rules about who
> could release the semaphore meant accounting was impossible of this scenario.
> In practice, though there were no test cases that showed it to be an issue,
> and the recent conversion en-masse of semaphores to mutexes in the kernel
> means it has pretty much covered most possibilities.
>

Thanks,
Peter
--
Peter Williams pwil3058@bigpond.net.au

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

\
 
 \ /
  Last update: 2006-05-26 16:01    [from the cache]
©2003-2011 Jasper Spaans