>Just think about it for a second: if you preempt a RT task with another RT
>task (yes this is possible, and yes, this is a RL example), then we
If there is a RT task "sleeping" in the runqueue it measn that all CPU are
just running RT tasks. Otherwise reschedule_idle doesn't work properly. Do
you see my point?
>immediately want to 'push' that RT task to another CPU. Also there are
>other, non-RT cases where 'pushing' a process to another processor makes
>sense. (just think about different static process priorities for a second)
I am not sure what do you mean with "static process priorities" but I
think you are talking about the related/mm/avg_slice heuristics. Yes
that's the reason it make sense to run reschedule_idle() (just pointed out
in my first email).
>then why do you say it's a performance hit? It's something we need for
>correctness, it doesnt affect the common case, where is your problem?
It does affect the common case instead. At every schedule() we issue a
reschedule_idle() of the `prev' task. The common case is when the `prev'
task is != idle_taks... and prev->counter is 0.
But yes, as just said I like it even if I think it's not worthwhile. I am
not asking for removal but I only wanted to point out that my thoughts
about the issue (since I seen that Rik started talking about it).
Andrea Arcangeli
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/