From: Juri Lelli <juri.lelli@redhat.com>
To: peterz@infradead.org, mingo@redhat.com, rostedt@goodmis.org,
tj@kernel.org
Cc: linux-kernel@vger.kernel.org, luca.abeni@santannapisa.it,
claudio@evidence.eu.com, tommaso.cucinotta@santannapisa.it,
bristot@redhat.com, mathieu.poirier@linaro.org,
lizefan@huawei.com, longman@redhat.com, dietmar.eggemann@arm.com,
cgroups@vger.kernel.org, Juri Lelli <juri.lelli@redhat.com>
Subject: [PATCH v9 0/8] sched/deadline: fix cpusets bandwidth accounting
Date: Fri, 19 Jul 2019 15:59:52 +0200 [thread overview]
Message-ID: <20190719140000.31694-1-juri.lelli@redhat.com> (raw)
Hi,
v9 of a series of patches, originally authored by Mathieu, with the intent
of fixing a long standing issue of SCHED_DEADLINE bandwidth accounting.
As originally reported by Steve [1], when hotplug and/or (certain)
cpuset reconfiguration operations take place, DEADLINE bandwidth
accounting information is lost since root domains are destroyed and
recreated.
Mathieu's approach is based on restoring bandwidth accounting info on
the newly created root domains by iterating through the (DEADLINE) tasks
belonging to the configured cpuset(s).
Apart from the usual rebase on top of cgroup/for-next, this version
- make cpuset_{can,cancel}_attach grab cpuset_rwsem for write (5/8 - Peter)
- moves v8 8/8 to 7/8 for bisectability (Peter)
- adds comment in changelog regarding normalize_rt_tasks() (8/8 - Peter)
Set also available at
https://github.com/jlelli/linux.git fixes/deadline/root-domain-accounting-v9
Thanks,
- Juri
[1] https://lkml.org/lkml/2016/2/3/966
Juri Lelli (6):
cpuset: Rebuild root domain deadline accounting information
sched/deadline: Fix bandwidth accounting at all levels after offline
migration
cgroup/cpuset: convert cpuset_mutex to percpu_rwsem
cgroup/cpuset: Change cpuset_rwsem and hotplug lock order
rcu/tree: Setschedule gp ktread to SCHED_FIFO outside of atomic region
sched/core: Prevent race condition between cpuset and
__sched_setscheduler()
Mathieu Poirier (2):
sched/topology: Adding function partition_sched_domains_locked()
sched/core: Streamlining calls to task_rq_unlock()
include/linux/cgroup.h | 1 +
include/linux/cpuset.h | 13 ++-
include/linux/sched.h | 5 +
include/linux/sched/deadline.h | 8 ++
include/linux/sched/topology.h | 10 ++
kernel/cgroup/cgroup.c | 2 +-
kernel/cgroup/cpuset.c | 163 +++++++++++++++++++++++++--------
kernel/rcu/tree.c | 6 +-
kernel/sched/core.c | 57 ++++++++----
kernel/sched/deadline.c | 63 +++++++++++++
kernel/sched/sched.h | 3 -
kernel/sched/topology.c | 30 +++++-
12 files changed, 290 insertions(+), 71 deletions(-)
--
2.17.2
next reply other threads:[~2019-07-19 14:00 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-07-19 13:59 Juri Lelli [this message]
2019-07-19 13:59 ` [PATCH v9 1/8] sched/topology: Adding function partition_sched_domains_locked() Juri Lelli
2019-07-25 16:19 ` [tip:sched/core] sched/topology: Add partition_sched_domains_locked() tip-bot for Mathieu Poirier
2019-07-19 13:59 ` [PATCH v9 2/8] sched/core: Streamlining calls to task_rq_unlock() Juri Lelli
2019-07-22 8:21 ` Dietmar Eggemann
2019-07-22 8:32 ` Juri Lelli
2019-07-22 9:08 ` Dietmar Eggemann
2019-07-23 10:32 ` Peter Zijlstra
2019-07-23 10:31 ` Peter Zijlstra
2019-07-23 13:11 ` Tejun Heo
2019-07-23 14:58 ` Juri Lelli
2019-07-25 16:20 ` [tip:sched/core] sched/core: Streamle " tip-bot for Mathieu Poirier
2019-07-19 13:59 ` [PATCH v9 3/8] cpuset: Rebuild root domain deadline accounting information Juri Lelli
2019-07-25 13:53 ` Ingo Molnar
2019-07-25 13:56 ` Ingo Molnar
2019-07-25 14:07 ` Juri Lelli
2019-07-25 16:00 ` Mathieu Poirier
2019-07-25 16:21 ` [tip:sched/core] cpusets: " tip-bot for Mathieu Poirier
2019-11-04 18:57 ` [PATCH v9 3/8] cpuset: " Michal Koutný
2019-11-05 12:03 ` Michal Koutný
2022-12-16 23:35 ` Qais Yousef
2022-12-17 2:26 ` Waiman Long
2022-12-17 22:10 ` Qais Yousef
2022-12-19 8:07 ` Vincent Guittot
2022-12-20 11:43 ` Qais Yousef
2023-01-15 16:41 ` Qais Yousef
2019-07-19 13:59 ` [PATCH v9 4/8] sched/deadline: Fix bandwidth accounting at all levels after offline migration Juri Lelli
2019-07-22 11:07 ` Dietmar Eggemann
2019-07-22 12:28 ` Juri Lelli
2019-07-22 13:21 ` Dietmar Eggemann
2019-07-22 13:35 ` Juri Lelli
2019-07-22 14:29 ` Dietmar Eggemann
2019-07-25 16:21 ` [tip:sched/core] " tip-bot for Juri Lelli
2019-07-19 13:59 ` [PATCH v9 5/8] cgroup/cpuset: convert cpuset_mutex to percpu_rwsem Juri Lelli
2019-07-25 16:22 ` [tip:sched/core] cgroup/cpuset: Convert " tip-bot for Juri Lelli
2019-07-19 13:59 ` [PATCH v9 6/8] cgroup/cpuset: Change cpuset_rwsem and hotplug lock order Juri Lelli
2019-07-25 16:23 ` [tip:sched/core] " tip-bot for Juri Lelli
2019-07-19 13:59 ` [PATCH v9 7/8] rcu/tree: Setschedule gp ktread to SCHED_FIFO outside of atomic region Juri Lelli
2019-07-25 16:24 ` [tip:sched/core] rcu/tree: Call setschedule() " tip-bot for Juri Lelli
2019-07-19 14:00 ` [PATCH v9 8/8] sched/core: Prevent race condition between cpuset and __sched_setscheduler() Juri Lelli
2019-07-25 16:24 ` [tip:sched/core] " tip-bot for Juri Lelli
2019-07-24 8:45 ` [PATCH v9 0/8] sched/deadline: fix cpusets bandwidth accounting Dietmar Eggemann
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=20190719140000.31694-1-juri.lelli@redhat.com \
--to=juri.lelli@redhat.com \
--cc=bristot@redhat.com \
--cc=cgroups@vger.kernel.org \
--cc=claudio@evidence.eu.com \
--cc=dietmar.eggemann@arm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lizefan@huawei.com \
--cc=longman@redhat.com \
--cc=luca.abeni@santannapisa.it \
--cc=mathieu.poirier@linaro.org \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=tj@kernel.org \
--cc=tommaso.cucinotta@santannapisa.it \
/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;
as well as URLs for NNTP newsgroup(s).