Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1216533

Re: [PATCH v4 5/5] sched: add two functions for att(det)aching a task to(from) a cfs_rq

From Byungchul Park <byungchul.park@lge.com>
Newsgroups linux.kernel
Subject Re: [PATCH v4 5/5] sched: add two functions for att(det)aching a task to(from) a cfs_rq
Date 2015-09-01 02:30 +0200
Message-ID <q3HCy-722-3@gated-at.bofh.it> (permalink)
References <pZwcF-3pE-3@gated-at.bofh.it> <pZwcG-3pE-13@gated-at.bofh.it> <pZwmm-3AQ-17@gated-at.bofh.it> <q3zbY-3fy-21@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


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.park@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 majordomo@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 majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH v4 0/5] sync a se with its cfs_rq when att(det)aching it byungchul.park@lge.com - 2015-08-20 13:30 +0200
  [PATCH v4 2/5] sched: make task_move_group_fair adjust cfs_rq's load in case of queued byungchul.park@lge.com - 2015-08-20 13:30 +0200
  [PATCH v4 5/5] sched: add two functions for att(det)aching a task to(from) a cfs_rq byungchul.park@lge.com - 2015-08-20 13:30 +0200
    Re: [PATCH v4 5/5] sched: add two functions for att(det)aching a  task to(from) a cfs_rq Byungchul Park <byungchul.park@lge.com> - 2015-08-20 13:40 +0200
      Re: [PATCH v4 5/5] sched: add two functions for att(det)aching a  task to(from) a cfs_rq Peter Zijlstra <peterz@infradead.org> - 2015-08-31 17:30 +0200
        Re: [PATCH v4 5/5] sched: add two functions for att(det)aching a  task to(from) a cfs_rq Peter Zijlstra <peterz@infradead.org> - 2015-08-31 17:40 +0200
        Re: [PATCH v4 5/5] sched: add two functions for att(det)aching a  task to(from) a cfs_rq Byungchul Park <byungchul.park@lge.com> - 2015-09-01 02:30 +0200
          Re: [PATCH v4 5/5] sched: add two functions for att(det)aching a  task to(from) a cfs_rq Byungchul Park <byungchul.park@lge.com> - 2015-09-01 05:00 +0200
          Re: [PATCH v4 5/5] sched: add two functions for att(det)aching a  task to(from) a cfs_rq Peter Zijlstra <peterz@infradead.org> - 2015-09-01 17:10 +0200
            Re: [PATCH v4 5/5] sched: add two functions for att(det)aching a  task to(from) a cfs_rq Byungchul Park <byungchul.park@lge.com> - 2015-09-02 04:40 +0200
              Re: [PATCH v4 5/5] sched: add two functions for att(det)aching a  task to(from) a cfs_rq Peter Zijlstra <peterz@infradead.org> - 2015-09-02 10:20 +0200
                Re: [PATCH v4 5/5] sched: add two functions for att(det)aching a  task to(from) a cfs_rq Ingo Molnar <mingo@kernel.org> - 2015-09-02 10:40 +0200
  [PATCH v4 4/5] sched: sync a se with its cfs_rq when switching sched class to fair class byungchul.park@lge.com - 2015-08-20 13:30 +0200
  [PATCH v4 1/5] sched: add two functions adjusting cfs_rq's load when att(det)aching a se byungchul.park@lge.com - 2015-08-20 13:30 +0200
  Re: [PATCH v4 0/5] sync a se with its cfs_rq when att(det)aching it Byungchul Park <byungchul.park@lge.com> - 2015-08-22 09:50 +0200
  Re: [PATCH v4 0/5] sync a se with its cfs_rq when att(det)aching it Byungchul Park <byungchul.park@lge.com> - 2015-08-26 02:00 +0200

csiph-web