On Mon, Aug 31, 2015 at 05:21:38PM +0200, Peter Zijlstra wrote: > On Thu, Aug 20, 2015 at 08:35:16PM +0900, Byungchul Park wrote: > > On Thu, Aug 20, 2015 at 08:22:00PM +0900, byungchul.p...@lge.com wrote: > > > > + /* > > > + * If it's !queued, then only when the task is sleeping it has a > > > + * non-normalized vruntime, that is, when the task is being migrated > > > + * it has a normailized vruntime. > > > + */ > > > > i tried to change your XXX comment. i think it can be explaned like this. > > don't you think so? i want to hear any opinions about this. > > > > > + if (p->state == TASK_RUNNING) > > > + return true; > > > --- a/kernel/sched/fair.c > +++ b/kernel/sched/fair.c > @@ -7943,11 +7943,10 @@ static inline bool vruntime_normalized(s > return true; > > /* > - * If it's !queued, then only when the task is sleeping it has a > - * non-normalized vruntime, that is, when the task is being migrated > - * it has a normalized vruntime. > + * If it's !queued, sleeping tasks have a normalized vruntime, > + * see dequeue_entity().
check the condition "!(flags & DEQUEUE_SLEEP)" for doing normalizing in dequeue_entity(). i think you have to keep my original comment, or modify your comment to something like below. before - If it's !queued, sleeping tasks have a normalized vruntime, after - If it's !queued, sleeping tasks have a non-normalize vruntime, but.. i think it would be better that you keep my original comment.. > */ > - if (p->state == TASK_RUNNING) > + if (!p->se.on_rq) > return true; > > return false; > > > Does that make sense? > > I think using p->state for this is fragile, as we could be racy with any > random blocking primitive that does set_current_state() _before_ > actually calling into the scheduler. > > > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majord...@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/