Re: [RFC 2/5] sched: Add CPU rate soft caps

From: Peter Williams
Date: Sat May 27 2006 - 20:10:49 EST


Peter Williams wrote:
Balbir Singh wrote:
On 5/26/06, Peter Williams <pwil3058@xxxxxxxxxxxxxx> wrote:
<snip>

Notes:

1. To minimize the overhead incurred when testing to skip caps processing for
uncapped tasks a new flag PF_HAS_CAP has been added to flags.

2. The implementation involves the addition of two priority slots to the
run queue priority arrays and this means that MAX_PRIO no longer
represents the scheduling priority of the idle process and can't be used to
test whether priority values are in the valid range. To alleviate this
problem a new function sched_idle_prio() has been provided.

I am a little confused by this. Why link the bandwidth expired tasks a
cpu (its caps) to a priority slot? Is this a hack to conitnue using
the prio_array? why not move such tasks to the expired array?

Because it won't work as after the array switch they may get to run before tasks who aren't exceeding their cap (or don't have a cap).

Another important reason for using these slots is that it allows waking tasks to preempt tasks that have exceeded their cap.

Peter
--
Peter Williams pwil3058@xxxxxxxxxxxxxx

"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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/