From: Dietmar Eggemann <dietmar.eggemann-5wv7dgnIgG8@public.gmane.org>
To: Juri Lelli <juri.lelli-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
Qais Yousef <qyousef-wp2msK0BRk8tq7phqP6ubQ@public.gmane.org>
Cc: Hao Luo <haoluo-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>,
Peter Zijlstra <peterz-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>,
Ingo Molnar <mingo-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
Waiman Long <longman-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
Steven Rostedt <rostedt-nx8X9YLhiw1AfugRpC6u6w@public.gmane.org>,
tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
luca.abeni-5rdYK369eBLQB0XuIGIEkQ@public.gmane.org,
claudio-YOzL5CV4y4YG1A2ADO40+w@public.gmane.org,
tommaso.cucinotta-5rdYK369eBLQB0XuIGIEkQ@public.gmane.org,
bristot-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
mathieu.poirier-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org,
cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Vincent Guittot
<vincent.guittot-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
Wei Wang <wvw-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>,
Rick Yiu <rickyiu-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>,
Quentin Perret <qperret-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>,
Heiko Carstens <hca-tEXmvtCZX7AybS5Ee8rs3A@public.gmane.org>,
Vasily Gorbik <gor-tEXmvtCZX7AybS5Ee8rs3A@public.gmane.org>,
Alexander Gordeev
<agordeev-tEXmvtCZX7AybS5Ee8rs3A@public.gmane.org>,
Sudeep Holla <sudeep.holla-5wv7dgnIgG8@public.gmane.org>,
Zefan Li <lizefan.x-EC8Uxl6Npydl57MIdRCFDg@public.gmane.org>,
linux-s390-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
x86-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org
Subject: Re: [PATCH v3] sched: cpuset: Don't rebuild root domains on suspend-resume
Date: Tue, 14 Mar 2023 12:41:36 +0100 [thread overview]
Message-ID: <f2eb03be-53dc-73db-ede9-99ecbb189782@arm.com> (raw)
In-Reply-To: <7070da53-a5a7-6965-5604-abee3cae9d46-5wv7dgnIgG8@public.gmane.org>
On 13/03/2023 18:10, Dietmar Eggemann wrote:
> On 13/03/2023 17:37, Juri Lelli wrote:
>> On 11/03/23 18:51, Qais Yousef wrote:
>>> On 03/09/23 14:23, Hao Luo wrote:
>>>> On Wed, Mar 8, 2023 at 10:55 PM Juri Lelli <juri.lelli-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> wrote:
>>>>>
>>>>> On 08/03/23 10:01, Hao Luo wrote:
>>>>>> On Wed, Mar 8, 2023 at 2:20 AM Juri Lelli <juri.lelli-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> wrote:
>>>>>>>
>>>>>>> On 01/03/23 17:03, Qais Yousef wrote:
>>>>>>>> On 03/01/23 15:26, Juri Lelli wrote:
>
> [...]
>
>>> Yeah I am working on 5.10 too (this will need to be backported to 5.10 and 5.15
>>> ultimately) and had the same crash because task is NULL.
>>>
>>> Fixed it this way which I think what you intended to do Juri? It moves the
>>> check for dl_task(task) inside cgroup_taskset_for_each() loop.
>>>
>>> diff --git a/kernel/cgroup/cpuset.c b/kernel/cgroup/cpuset.c
>>> index 83a8943467fb..06d6bb68d86b 100644
>>> --- a/kernel/cgroup/cpuset.c
>>> +++ b/kernel/cgroup/cpuset.c
>>> @@ -2495,11 +2495,11 @@ static int cpuset_can_attach(struct cgroup_taskset *tset)
>>> ret = security_task_setscheduler(task);
>>> if (ret)
>>> goto out_unlock;
>>> - }
>>>
>>> - if (dl_task(task)) {
>>> - cs->deadline_tasks++;
>>> - cpuset_attach_old_cs->deadline_tasks--;
>>> + if (dl_task(task)) {
>>> + cs->deadline_tasks++;
>>> + cpuset_attach_old_cs->deadline_tasks--;
>>> + }
>>> }
>>>
>>> /*
>>
>> Duh, indeed.
>>
>>> Like Hao I don't have any deadline tasks in the system. With the fix above
>>> I don't notice the delay on suspend resume using your patches.
>>
>> OK, cool.
>>
>>> If you want any debug; please feel free to add them into your branch so I can
>>> run with that and give you the log.
>>
>> Will need to find time to run some tests with DEADLINE tasks, yeah.
>> Maybe Dietmar, since you reported as well the issue above with your
>> testing, you could help with testing DEADLINE?
>
> Ah, now I see! It's the same issue I saw. And it's not specifically
> related to DL tasks. Any tasks which you move into a cpuset will trigger
> this.
> Yeah, can do some DL tests later on this fix.
This fix also works for my DL test.
root@juno:~# ps2 | grep DLN
83 83 140 0 - DLN sugov:0
84 84 140 0 - DLN sugov:1
1601 1602 140 0 - DLN thread0-0
1601 1603 140 0 - DLN thread0-1
1601 1604 140 0 - DLN thread0-2
1601 1605 140 0 - DLN thread0-3
1601 1606 140 0 - DLN thread0-4
1601 1607 140 0 - DLN thread0-5
1601 1608 140 0 - DLN thread0-6
1601 1609 140 0 - DLN thread0-7
1601 1610 140 0 - DLN thread0-8
1601 1611 140 0 - DLN thread0-9
1601 1612 140 0 - DLN thread0-10
1601 1613 140 0 - DLN thread0-11
cgroupv1
root@juno:# cd /sys/fs/cgroup/cpuset
root@juno:# mkdir cs1
root@juno:# echo 0 > cs1/cpuset.mems
root@juno:# echo 0,3-5 > cs1/cpuset.cpus
root@juno:# cgclassify -g cpuset:cs1 1602 1603 1604 $$
One remaining doubt: `cgclassify` will still move one task at a time so
cpuset_can_attach() has to deal with one task per call. But
cgroup_taskset_for_each() says that tset can contain multiple tasks. In
this case we would have to think about only changing cs->deadline_tasks
if all tasks can be moved.
Don't know which test would trigger a tset with multiple tasks in
cpuset_can_attach().
WARNING: multiple messages have this Message-ID (diff)
From: Dietmar Eggemann <dietmar.eggemann@arm.com>
To: Juri Lelli <juri.lelli@redhat.com>, Qais Yousef <qyousef@layalina.io>
Cc: Hao Luo <haoluo@google.com>,
Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@kernel.org>, Waiman Long <longman@redhat.com>,
Steven Rostedt <rostedt@goodmis.org>,
tj@kernel.org, linux-kernel@vger.kernel.org,
luca.abeni@santannapisa.it, claudio@evidence.eu.com,
tommaso.cucinotta@santannapisa.it, bristot@redhat.com,
mathieu.poirier@linaro.org, cgroups@vger.kernel.org,
Vincent Guittot <vincent.guittot@linaro.org>,
Wei Wang <wvw@google.com>, Rick Yiu <rickyiu@google.com>,
Quentin Perret <qperret@google.com>,
Heiko Carstens <hca@linux.ibm.com>,
Vasily Gorbik <gor@linux.ibm.com>,
Alexander Gordeev <agordeev@linux.ibm.com>,
Sudeep Holla <sudeep.holla@arm.com>,
Zefan Li <lizefan.x@bytedance.com>,
linux-s390@vger.kernel.org, x86@kernel.org
Subject: Re: [PATCH v3] sched: cpuset: Don't rebuild root domains on suspend-resume
Date: Tue, 14 Mar 2023 12:41:36 +0100 [thread overview]
Message-ID: <f2eb03be-53dc-73db-ede9-99ecbb189782@arm.com> (raw)
In-Reply-To: <7070da53-a5a7-6965-5604-abee3cae9d46@arm.com>
On 13/03/2023 18:10, Dietmar Eggemann wrote:
> On 13/03/2023 17:37, Juri Lelli wrote:
>> On 11/03/23 18:51, Qais Yousef wrote:
>>> On 03/09/23 14:23, Hao Luo wrote:
>>>> On Wed, Mar 8, 2023 at 10:55 PM Juri Lelli <juri.lelli@redhat.com> wrote:
>>>>>
>>>>> On 08/03/23 10:01, Hao Luo wrote:
>>>>>> On Wed, Mar 8, 2023 at 2:20 AM Juri Lelli <juri.lelli@redhat.com> wrote:
>>>>>>>
>>>>>>> On 01/03/23 17:03, Qais Yousef wrote:
>>>>>>>> On 03/01/23 15:26, Juri Lelli wrote:
>
> [...]
>
>>> Yeah I am working on 5.10 too (this will need to be backported to 5.10 and 5.15
>>> ultimately) and had the same crash because task is NULL.
>>>
>>> Fixed it this way which I think what you intended to do Juri? It moves the
>>> check for dl_task(task) inside cgroup_taskset_for_each() loop.
>>>
>>> diff --git a/kernel/cgroup/cpuset.c b/kernel/cgroup/cpuset.c
>>> index 83a8943467fb..06d6bb68d86b 100644
>>> --- a/kernel/cgroup/cpuset.c
>>> +++ b/kernel/cgroup/cpuset.c
>>> @@ -2495,11 +2495,11 @@ static int cpuset_can_attach(struct cgroup_taskset *tset)
>>> ret = security_task_setscheduler(task);
>>> if (ret)
>>> goto out_unlock;
>>> - }
>>>
>>> - if (dl_task(task)) {
>>> - cs->deadline_tasks++;
>>> - cpuset_attach_old_cs->deadline_tasks--;
>>> + if (dl_task(task)) {
>>> + cs->deadline_tasks++;
>>> + cpuset_attach_old_cs->deadline_tasks--;
>>> + }
>>> }
>>>
>>> /*
>>
>> Duh, indeed.
>>
>>> Like Hao I don't have any deadline tasks in the system. With the fix above
>>> I don't notice the delay on suspend resume using your patches.
>>
>> OK, cool.
>>
>>> If you want any debug; please feel free to add them into your branch so I can
>>> run with that and give you the log.
>>
>> Will need to find time to run some tests with DEADLINE tasks, yeah.
>> Maybe Dietmar, since you reported as well the issue above with your
>> testing, you could help with testing DEADLINE?
>
> Ah, now I see! It's the same issue I saw. And it's not specifically
> related to DL tasks. Any tasks which you move into a cpuset will trigger
> this.
> Yeah, can do some DL tests later on this fix.
This fix also works for my DL test.
root@juno:~# ps2 | grep DLN
83 83 140 0 - DLN sugov:0
84 84 140 0 - DLN sugov:1
1601 1602 140 0 - DLN thread0-0
1601 1603 140 0 - DLN thread0-1
1601 1604 140 0 - DLN thread0-2
1601 1605 140 0 - DLN thread0-3
1601 1606 140 0 - DLN thread0-4
1601 1607 140 0 - DLN thread0-5
1601 1608 140 0 - DLN thread0-6
1601 1609 140 0 - DLN thread0-7
1601 1610 140 0 - DLN thread0-8
1601 1611 140 0 - DLN thread0-9
1601 1612 140 0 - DLN thread0-10
1601 1613 140 0 - DLN thread0-11
cgroupv1
root@juno:# cd /sys/fs/cgroup/cpuset
root@juno:# mkdir cs1
root@juno:# echo 0 > cs1/cpuset.mems
root@juno:# echo 0,3-5 > cs1/cpuset.cpus
root@juno:# cgclassify -g cpuset:cs1 1602 1603 1604 $$
One remaining doubt: `cgclassify` will still move one task at a time so
cpuset_can_attach() has to deal with one task per call. But
cgroup_taskset_for_each() says that tset can contain multiple tasks. In
this case we would have to think about only changing cs->deadline_tasks
if all tasks can be moved.
Don't know which test would trigger a tset with multiple tasks in
cpuset_can_attach().
next prev parent reply other threads:[~2023-03-14 11:41 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-06 22:14 [PATCH v3] sched: cpuset: Don't rebuild root domains on suspend-resume Qais Yousef
2023-02-06 22:14 ` Qais Yousef
[not found] ` <20230206221428.2125324-1-qyousef-wp2msK0BRk8tq7phqP6ubQ@public.gmane.org>
2023-02-23 15:38 ` Qais Yousef
2023-02-23 15:38 ` Qais Yousef
2023-02-24 15:14 ` Dietmar Eggemann
2023-02-24 15:14 ` Dietmar Eggemann
[not found] ` <5f087dd8-3e39-ce83-fe24-afa5179c05d9-5wv7dgnIgG8@public.gmane.org>
2023-02-27 20:57 ` Qais Yousef
2023-02-27 20:57 ` Qais Yousef
2023-02-28 14:09 ` Dietmar Eggemann
2023-02-28 14:09 ` Dietmar Eggemann
[not found] ` <5a1e58bf-7eb2-bd7a-7e19-7864428a2b83-5wv7dgnIgG8@public.gmane.org>
2023-02-28 17:46 ` Qais Yousef
2023-02-28 17:46 ` Qais Yousef
2023-03-01 7:31 ` Juri Lelli
2023-03-01 7:31 ` Juri Lelli
[not found] ` <Y/7/SLzvK8LfB29z-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2023-03-01 12:28 ` Qais Yousef
2023-03-01 12:28 ` Qais Yousef
2023-03-01 14:26 ` Juri Lelli
2023-03-01 14:26 ` Juri Lelli
[not found] ` <Y/9gmDRlGOChIwpf-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2023-03-01 17:03 ` Qais Yousef
2023-03-01 17:03 ` Qais Yousef
2023-03-08 10:19 ` Juri Lelli
2023-03-08 10:19 ` Juri Lelli
[not found] ` <ZAhhGi55BkYkc3ss-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2023-03-08 18:01 ` Hao Luo
2023-03-08 18:01 ` Hao Luo
[not found] ` <CA+khW7hmE0tECG2qfKW1HN9yLVOLUn5Zzx4Rz-wHYDtSUPYotw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2023-03-09 6:55 ` Juri Lelli
2023-03-09 6:55 ` Juri Lelli
2023-03-09 22:23 ` Hao Luo
2023-03-09 22:23 ` Hao Luo
[not found] ` <CA+khW7iAeTALH5b6upHXs1RotFBohVeZCcAp5H+r-=L05kqnww-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2023-03-11 18:51 ` Qais Yousef
2023-03-11 18:51 ` Qais Yousef
2023-03-13 16:37 ` Juri Lelli
2023-03-13 16:37 ` Juri Lelli
[not found] ` <ZA9RZ3VvGXKp+1L6-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2023-03-13 17:10 ` Dietmar Eggemann
2023-03-13 17:10 ` Dietmar Eggemann
[not found] ` <7070da53-a5a7-6965-5604-abee3cae9d46-5wv7dgnIgG8@public.gmane.org>
2023-03-14 11:41 ` Dietmar Eggemann [this message]
2023-03-14 11:41 ` Dietmar Eggemann
2023-03-08 19:21 ` Waiman Long
2023-03-08 19:21 ` Waiman Long
2023-03-13 12:37 ` Dietmar Eggemann
2023-03-13 12:37 ` Dietmar Eggemann
2023-03-07 19:56 ` Hao Luo
2023-03-07 19:56 ` Hao Luo
[not found] ` <CA+khW7i_Sc0M4FXzojmQ5PSfkPwk6AdcbN9j0gDXZ9FsOMQAwA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2023-03-07 20:08 ` Waiman Long
2023-03-07 20:08 ` Waiman Long
[not found] ` <f3a99500-e51c-032f-a0c6-01763f0a5be6-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2023-03-07 21:06 ` Hao Luo
2023-03-07 21:06 ` Hao Luo
[not found] ` <CA+khW7iWAn6bbXdkJX1Lt4dWUsN6o4KqVQ8OFTs0B+VTtVjBkw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2023-03-07 21:13 ` Waiman Long
2023-03-07 21:13 ` Waiman Long
[not found] ` <1f2cf8ea-a9d7-5245-0f69-eb8be9f64afc-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2023-03-07 22:17 ` Hao Luo
2023-03-07 22:17 ` Hao Luo
2023-03-08 2:29 ` Waiman Long
2023-03-08 2:29 ` Waiman Long
[not found] ` <315efe55-abaf-c199-673b-95ef76a1e442-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2023-03-08 18:11 ` Hao Luo
2023-03-08 18:11 ` Hao Luo
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=f2eb03be-53dc-73db-ede9-99ecbb189782@arm.com \
--to=dietmar.eggemann-5wv7dgnigg8@public.gmane.org \
--cc=agordeev-tEXmvtCZX7AybS5Ee8rs3A@public.gmane.org \
--cc=bristot-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=claudio-YOzL5CV4y4YG1A2ADO40+w@public.gmane.org \
--cc=gor-tEXmvtCZX7AybS5Ee8rs3A@public.gmane.org \
--cc=haoluo-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org \
--cc=hca-tEXmvtCZX7AybS5Ee8rs3A@public.gmane.org \
--cc=juri.lelli-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-s390-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=lizefan.x-EC8Uxl6Npydl57MIdRCFDg@public.gmane.org \
--cc=longman-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=luca.abeni-5rdYK369eBLQB0XuIGIEkQ@public.gmane.org \
--cc=mathieu.poirier-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=mingo-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=peterz-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org \
--cc=qperret-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org \
--cc=qyousef-wp2msK0BRk8tq7phqP6ubQ@public.gmane.org \
--cc=rickyiu-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org \
--cc=rostedt-nx8X9YLhiw1AfugRpC6u6w@public.gmane.org \
--cc=sudeep.holla-5wv7dgnIgG8@public.gmane.org \
--cc=tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=tommaso.cucinotta-5rdYK369eBLQB0XuIGIEkQ@public.gmane.org \
--cc=vincent.guittot-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=wvw-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org \
--cc=x86-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.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.