From: Wanpeng Li <wanpeng.li@hotmail.com>
To: Byungchul Park <byungchul.park@lge.com>
Cc: Ingo Molnar <mingo@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] sched: fix lose fair sleeper bonus in switch_to_fair()
Date: Tue, 8 Sep 2015 14:55:20 +0800 [thread overview]
Message-ID: <BLU436-SMTP18650B9F0AD996BCDF311F880530@phx.gbl> (raw)
In-Reply-To: <20150908021030.GC6455@byungchulpark-X58A-UD3R>
On 9/8/15 10:10 AM, Byungchul Park wrote:
> hello wanpeng,
>
> On Mon, Sep 07, 2015 at 05:45:20PM +0800, Wanpeng Li wrote:
>> The sleeper task will be normalized when moved from fair_sched_class, in
>> order that vruntime will be adjusted either the task is running or sleeping
>> when moved back. The nomalization in switch_to_fair for sleep task will
>> result in lose fair sleeper bonus in place_entity() once the vruntime -
>> cfs_rq->min_vruntime is big when moved from fair_sched_class.
> it is nothing to do with normalization.
>
> if vruntime - cfs_rq->min_vruntime is big even though place_entity() was
> called when moved from fair class, then we actually expect that it still has
> a big vruntime when moved back to fair class.
>
> if we don't expect that it still has a big vruntime when moved back to fair
> class, we need to consider other approaches e.g. to move a position calling
> place_entity() or to add place_entity() call properly ..
>
> however we should not touch normalization logic. in other words, if we
> normalized the vruntime when leaved, then we should necessarily restore the
> vruntime to a non-normalized value when moved back.
Not about vruntime - cfs_rq->min_vruntime is big, I think my patch
description above is confusing, and what's wrong I found is explained in
the mail which reply to Peterz.
>
>> This patch fix it by adjusting vruntime just during migrating as original
>> codes since the vruntime of the task has usually NOT been normalized in
>> this case.
> could you explain this in detail? when is a vruntime not normalized?
>
The comments in task_move_group_fair() which you removed in your commit:
| * When !queued, vruntime of the task has usually NOT been normalized
Regards,
Wanpeng Li
prev parent reply other threads:[~2015-09-08 6:56 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-07 9:45 Wanpeng Li
2015-09-07 14:02 ` Peter Zijlstra
2015-09-08 3:46 ` Wanpeng Li
2015-09-08 5:28 ` Byungchul Park
2015-09-08 5:38 ` Wanpeng Li
2015-09-08 6:14 ` Byungchul Park
2015-09-08 6:23 ` Wanpeng Li
2015-09-08 6:45 ` Byungchul Park
2015-09-08 6:32 ` Byungchul Park
2015-09-08 6:42 ` Wanpeng Li
2015-09-08 7:11 ` Byungchul Park
2015-09-08 7:30 ` Wanpeng Li
2015-09-08 7:57 ` Byungchul Park
2015-09-08 8:04 ` Wanpeng Li
2015-09-08 8:22 ` Byungchul Park
2015-09-08 8:38 ` Wanpeng Li
2015-09-08 8:45 ` Wanpeng Li
2015-09-08 8:55 ` byungchul.park
2015-09-08 9:17 ` Byungchul Park
2015-09-08 11:22 ` Peter Zijlstra
2015-09-08 8:48 ` byungchul.park
2015-09-08 6:43 ` Byungchul Park
[not found] ` <BLU437-SMTP75CDA80FC247CB1C9E5A2480540@phx.gbl>
2015-09-08 9:49 ` Peter Zijlstra
2015-09-08 2:10 ` Byungchul Park
2015-09-08 6:55 ` Wanpeng Li [this message]
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=BLU436-SMTP18650B9F0AD996BCDF311F880530@phx.gbl \
--to=wanpeng.li@hotmail.com \
--cc=byungchul.park@lge.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=peterz@infradead.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®