On 09/08/07, Mitchell Erblich <[EMAIL PROTECTED]> wrote: > sched_rt.c : requeue_task_rt() > > The comment states the problem requeue no dequeue. > Put task to the end of the run list without the overhead of dequeue > followed by enqueue. > > dequeue_task_rt() updates stats. Where without calling > it will skip the stat update. > > Thus, shouldn't requeue_task_rt() call > update_curr_rt(rq); ???
No. As update_curr_rt() suggests it's only about collecting runtime statistics, namely (a) the longest interval of time a given task was consuming a CPU (i.e. == 'current') and (b) the total amount of time it was running. To this goal, it would be enough to call it only in put_prev_task_rt().. I recall, we do it in dequeue_task_rt() to catch a case of SCHED_RR/FIFO --> SCHED_NORMAL transition (e.g. in sched_setscheduler()).. so that may make accounting a bit less precise for (a). -- Best regards, Dmitry Adamushko - 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/