All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yuyang Du <yuyang.du@intel.com>
To: Vincent Guittot <vincent.guittot@linaro.org>
Cc: Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@kernel.org>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	Benjamin Segall <bsegall@google.com>,
	Paul Turner <pjt@google.com>,
	Morten Rasmussen <morten.rasmussen@arm.com>,
	Dietmar Eggemann <dietmar.eggemann@arm.com>
Subject: Re: [PATCH v4 2/5] sched/fair: Fix attaching task sched avgs twice when switching to fair or changing task group
Date: Tue, 7 Jun 2016 03:05:24 +0800	[thread overview]
Message-ID: <20160606190524.GD8105@intel.com> (raw)
In-Reply-To: <CAKfTPtC9oTO4znWxyZq7YSw64KzDamst7SFTy_0+amzNzP+dqg@mail.gmail.com>

Hi Vincent,

On Mon, Jun 06, 2016 at 02:32:39PM +0200, Vincent Guittot wrote:
> > Unlike the switch to fair class case, if the task is on_rq, it will be
> > enqueued after we move task groups, so the simplest solution is to reset
> > the task's last_update_time when we do task_move_group(), but not to
> > attach sched avgs in task_move_group(), and then let enqueue_task() do
> > the sched avgs attachment.
> 
> According to the review of the previous version
> http://www.gossamer-threads.com/lists/linux/kernel/2450678#2450678,
> only the use case switch to fair with a task that has never been
> queued as a CFS task before, can have the issue and this will not
> happen for other use cases described above.
> So can you limit the description in the commit message to just this
> use case unless you have discovered new use cases and in this case
> please add the description.

I assure you that I will, :)
 
> Then, the problem with this use case, comes that last_update_time == 0
> has a special meaning ( task has migrated ) and we initialize
> last_update_time with this value.

In general, the meaning of last_update_time == 0 is: not yet attached to
any cfs queue.

> A much more simple solution would be
> to prevent last_update_time to be initialized with this special value.
> We can initialize the last_update_time of a sched_entity to 1 as an
> example which is easier than these changes.

Then at least, we must differentiate CONFIG_FAIR_GROUP_SCHED and
!CONFIG_FAIR_GROUP_SCHED. And I am not sure whether this is a simpler
solution, as I haven't sorted out the whole thing. IMO, this solution
seems a little too hacky and I'd prefer not if we have alternative.

  reply	other threads:[~2016-06-07  3:02 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-06  0:20 [PATCH v4 0/5] sched/fair: Fix attach and detach sched avgs for task group change or sched class change Yuyang Du
2016-06-06  0:20 ` [PATCH v4 1/5] sched/fair: Clean up attach_entity_load_avg() Yuyang Du
2016-06-06 13:30   ` Matt Fleming
2016-06-06 13:40     ` Vincent Guittot
2016-06-06 14:06       ` Matt Fleming
2016-06-06 14:27       ` Peter Zijlstra
2016-06-06  0:20 ` [PATCH v4 2/5] sched/fair: Fix attaching task sched avgs twice when switching to fair or changing task group Yuyang Du
2016-06-06  9:54   ` Peter Zijlstra
2016-06-06 19:38     ` Yuyang Du
2016-06-06 12:32   ` Vincent Guittot
2016-06-06 19:05     ` Yuyang Du [this message]
2016-06-07  8:09       ` Vincent Guittot
2016-06-07 18:16         ` Yuyang Du
2016-06-06  0:20 ` [PATCH v4 3/5] sched/fair: Skip detach sched avgs for new task when changing task groups Yuyang Du
2016-06-06  9:58   ` Peter Zijlstra
2016-06-06 14:03   ` Matt Fleming
2016-06-06 19:15     ` Yuyang Du
2016-06-06  0:20 ` [PATCH v4 4/5] sched/fair: Move load and util avgs from wake_up_new_task() to sched_fork() Yuyang Du
2016-06-06  0:20 ` [PATCH v4 5/5] sched/fair: Add inline to detach_entity_load_evg() Yuyang Du

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160606190524.GD8105@intel.com \
    --to=yuyang.du@intel.com \
    --cc=bsegall@google.com \
    --cc=dietmar.eggemann@arm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=morten.rasmussen@arm.com \
    --cc=peterz@infradead.org \
    --cc=pjt@google.com \
    --cc=vincent.guittot@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.