[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <b647ffbd0708090124i2671c73g69148244284b2d0c@mail.gmail.com>
Date: Thu, 9 Aug 2007 10:24:21 +0200
From: "Dmitry Adamushko" <dmitry.adamushko@...il.com>
To: "Mitchell Erblich" <erblichs@...thlink.net>
Cc: mingo@...e.hu, linux-kernel@...r.kernel.org
Subject: Re: Question : sched_rt.c : Loss of stats?? requeue_task_rt() does not call update_curr_rt() which updates stats
On 09/08/07, Mitchell Erblich <erblichs@...thlink.net> 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 majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists