From: Yicong Yang <yangyicong@huawei.com>
To: Abel Wu <wuyun.abel@bytedance.com>,
Peter Zijlstra <peterz@infradead.org>,
Mel Gorman <mgorman@suse.de>,
Vincent Guittot <vincent.guittot@linaro.org>
Cc: <yangyicong@hisilicon.com>, Josh Don <joshdon@google.com>,
Chen Yu <yu.c.chen@intel.com>, <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 1/5] sched/fair: ignore SIS_UTIL when has idle core
Date: Thu, 14 Jul 2022 16:34:09 +0800 [thread overview]
Message-ID: <86582457-06eb-b239-37e5-7d46fade8a6f@huawei.com> (raw)
In-Reply-To: <ab909cde-5e1e-a91e-473a-97dd2bd46e63@huawei.com>
On 2022/7/14 16:16, Yicong Yang wrote:
> On 2022/7/14 16:00, Abel Wu wrote:
>>
>> On 7/14/22 3:15 PM, Yicong Yang Wrote:
>>> On 2022/7/14 14:58, Abel Wu wrote:
>>>>
>>>> On 7/14/22 2:19 PM, Yicong Yang Wrote:
>>>>> On 2022/7/12 16:20, Abel Wu wrote:
>>>>>> When SIS_UTIL is enabled, SIS domain scan will be skipped if
>>>>>> the LLC is overloaded. Since the overloaded status is checked
>>>>>> in the load balancing at LLC level, the interval is llc_size
>>>>>> miliseconds. The duration might be long enough to affect the
>>>>>> overall system throughput if idle cores are out of reach in
>>>>>> SIS domain scan.
>>>>>>
>>>>>> Signed-off-by: Abel Wu <wuyun.abel@bytedance.com>
>>>>>> ---
>>>>>> kernel/sched/fair.c | 15 +++++++++------
>>>>>> 1 file changed, 9 insertions(+), 6 deletions(-)
>>>>>>
>>>>>> diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
>>>>>> index a78d2e3b9d49..cd758b3616bd 100644
>>>>>> --- a/kernel/sched/fair.c
>>>>>> +++ b/kernel/sched/fair.c
>>>>>> @@ -6392,16 +6392,19 @@ static int select_idle_cpu(struct task_struct *p, struct sched_domain *sd, bool
>>>>>> struct sched_domain *this_sd;
>>>>>> u64 time = 0;
>>>>>> - this_sd = rcu_dereference(*this_cpu_ptr(&sd_llc));
>>>>>> - if (!this_sd)
>>>>>> - return -1;
>>>>>> -
>>>>>> cpumask_and(cpus, sched_domain_span(sd), p->cpus_ptr);
>>>>>> - if (sched_feat(SIS_PROP) && !has_idle_core) {
>>>>>> + if (has_idle_core)
>>>>>> + goto scan;
>>>>>> +
>>>>>> + if (sched_feat(SIS_PROP)) {
>>>>>> u64 avg_cost, avg_idle, span_avg;
>>>>>> unsigned long now = jiffies;
>>>>>> + this_sd = rcu_dereference(*this_cpu_ptr(&sd_llc));
>>>>>> + if (!this_sd)
>>>>>> + return -1;
>>>>>> +
>>>>>
>>>>> I don't follow the change here. True that this_sd is used only in SIS_PROP, but it seems irrelevant with your
>>>>> commit. Does the position of this make any performance difference?
>>>>
>>>> No, this change doesn't make much difference to performance. Are
>>>> you suggesting that I should make this a separate patch?
>>>>
>>>
>>> It just makes me think that dereference is unnecessary if this_cpu and target locates in
>>> the same LLC, since it's already been passed. But since you noticed no difference it may
>>> have little effect. :)
>>>
>>
>> Hmm.. Not exactly. The sched-domains are cpu private
>>, and this_cpu can be in another LLC than target.
This is not the condition I meant to, I would have thought it would make some sense only when they're in
the same LLC. Anyway since no difference for dereference or not, it doesn't matter at all.
Thanks for the explanation.
>> .
>
> yes. you're right. sorry for get this messed.
>
> .
>
next prev parent reply other threads:[~2022-07-14 8:34 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-12 8:20 [PATCH 0/5] sched/fair: SIS improvements and cleanups Abel Wu
2022-07-12 8:20 ` [PATCH 1/5] sched/fair: ignore SIS_UTIL when has idle core Abel Wu
2022-07-13 3:47 ` Chen Yu
2022-07-13 16:14 ` Abel Wu
2022-07-14 6:19 ` Yicong Yang
2022-07-14 6:58 ` Abel Wu
2022-07-14 7:15 ` Yicong Yang
2022-07-14 8:00 ` Abel Wu
2022-07-14 8:16 ` Yicong Yang
2022-07-14 8:34 ` Yicong Yang [this message]
2022-08-04 9:59 ` Chen Yu
2022-08-15 2:54 ` Abel Wu
2022-08-10 13:50 ` Chen Yu
2022-08-15 2:44 ` Abel Wu
2022-08-29 13:08 ` Mel Gorman
2022-08-29 14:11 ` Abel Wu
2022-08-29 14:56 ` Mel Gorman
2022-09-01 13:08 ` Abel Wu
2022-09-02 4:12 ` Abel Wu
2022-09-02 10:25 ` Mel Gorman
2022-09-05 14:40 ` Abel Wu
2022-09-06 9:57 ` Mel Gorman
2022-09-07 7:27 ` Chen Yu
2022-09-07 8:41 ` Mel Gorman
2022-09-07 7:52 ` Abel Wu
2022-07-12 8:20 ` [PATCH 2/5] sched/fair: default to false in test_idle_cores Abel Wu
2022-08-29 12:36 ` Mel Gorman
2022-07-12 8:20 ` [PATCH 3/5] sched/fair: remove redundant check in select_idle_smt Abel Wu
2022-08-29 12:36 ` Mel Gorman
2022-07-12 8:20 ` [PATCH 4/5] sched/fair: avoid double search on same cpu Abel Wu
2022-08-29 12:36 ` Mel Gorman
2022-07-12 8:20 ` [PATCH 5/5] sched/fair: remove useless check in select_idle_core Abel Wu
2022-08-29 12:37 ` Mel Gorman
2022-08-15 13:31 ` [PATCH 0/5] sched/fair: SIS improvements and cleanups Abel Wu
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=86582457-06eb-b239-37e5-7d46fade8a6f@huawei.com \
--to=yangyicong@huawei.com \
--cc=joshdon@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mgorman@suse.de \
--cc=peterz@infradead.org \
--cc=vincent.guittot@linaro.org \
--cc=wuyun.abel@bytedance.com \
--cc=yangyicong@hisilicon.com \
--cc=yu.c.chen@intel.com \
/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®