[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070606105950.GA32729@in.ibm.com>
Date: Wed, 6 Jun 2007 16:29:50 +0530
From: Srivatsa Vaddagiri <vatsa@...ibm.com>
To: Balbir Singh <balbir@...ux.vnet.ibm.com>
Cc: Dmitry Adamushko <dmitry.adamushko@...il.com>,
Ingo Molnar <mingo@...e.hu>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Mike Galbraith <efault@....de>,
Arjan van de Ven <arjan@...radead.org>,
Thomas Gleixner <tglx@...utronix.de>,
Linux Kernel <linux-kernel@...r.kernel.org>
Subject: Re: [patch] CFS scheduler, -v15
On Wed, Jun 06, 2007 at 04:07:01PM +0530, Balbir Singh wrote:
> Dmitry Adamushko wrote:
> > On 06/06/07, Srivatsa Vaddagiri <vatsa@...ibm.com> wrote:
> >> On Wed, Jun 06, 2007 at 09:01:43AM +0200, Ingo Molnar wrote:
> >> > [...] and my tree already contains the fixes for rt task's
> >> > exec_start.
> >>
> >> Can I have this snapshot pls? I have to deal with the same issue when
> >> the current task switches groups and I was planning to fix it by
> >> introducing a set_curr_task() method in fair_sched_class which
> >> initializes exec_start and other fields for that task.
> >
> > Hum.. what about accounting 'exec_time' and updating 'exec_start' in
> > rt_sched :: dequeue_task_rt() instead (like update_curr() does it in
> > dequeue_task_fair())?
[For some reason Dimitry's mail has not made it to my inbox yet ..]
> > This way, on RT -> NORMAL transition.. some 'delta_exec' ( between
> > deactivate_task() ---> activate_task() ) will be accounted later as if
> > the task was 'sched_fair_class' during this time.. which I think makes
> > some sense. What do you think?
> >
>
> Why not do it explicitly in __setscheduler() if the new policy is SCHED_NORMAL
> or SCHED_BATCH.
Yes this is the approach I prefer, because we burden the fast/normal
path less that way (RT->NORMAL transition is not common). That's why I
was considering a set_curr_task() method in fair_sched_class which will
be invoked in __setscheduler() if the new policy of currently running
task happens to be SCHED_NORMAL/BATCH. Alternately if the new policy of
currently running task happens to be SCHED_FIFO (and its old policy was
SCHED_NORMAL) we need to invoke put_prev_task() method (so that
fair_clock etc is updated based on outgoing task's execution time in
SCHED_NORMAL class).
>You could also add the smarts to deactivate_task()
--
Regards,
vatsa
-
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