From: Juri Lelli <juri.lelli@redhat.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: mingo@redhat.com, rostedt@goodmis.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,
lizefan@huawei.com, cgroups@vger.kernel.org
Subject: Re: [PATCH v5 5/5] cpuset: Rebuild root domain deadline accounting information
Date: Tue, 25 Sep 2018 15:07:50 +0200 [thread overview]
Message-ID: <20180925130750.GA25664@localhost.localdomain> (raw)
In-Reply-To: <20180925123222.GA29985@hirez.programming.kicks-ass.net>
On 25/09/18 14:32, Peter Zijlstra wrote:
> On Mon, Sep 03, 2018 at 04:28:01PM +0200, Juri Lelli wrote:
> > +/*
> > + * Called with cpuset_mutex held (rebuild_sched_domains())
> > + * Called with hotplug lock held (rebuild_sched_domains_locked())
> > + * Called with sched_domains_mutex held (partition_and_rebuild_domains())
>
> Isn't that what we have lockdep_assert_held() for?
Indeed. I can put three of them inside the function, even though we have
a single path to here atm. Guess makes sense to protect any future change.
> > + */
> > +static void rebuild_root_domains(void)
> > +{
> > + struct cpuset *cs = NULL;
> > + struct cgroup_subsys_state *pos_css;
> > +
> > + rcu_read_lock();
> > +
> > + /*
> > + * Clear default root domain DL accounting, it will be computed again
> > + * if a task belongs to it.
> > + */
> > + dl_clear_root_domain(&def_root_domain);
> > +
> > + cpuset_for_each_descendant_pre(cs, pos_css, &top_cpuset) {
> > +
> > + if (cpumask_empty(cs->effective_cpus)) {
> > + pos_css = css_rightmost_descendant(pos_css);
> > + continue;
> > + }
> > +
> > + css_get(&cs->css);
> > +
> > + rcu_read_unlock();
>
> That looks really dodgy, but I suppose the comment near
> css_next_descendant_pre() spells out that this is in fact OK.
Plus update_cpumasks_hier() seems to do something similar. Maybe I
should switch to use css_tryget_online() as well?
Thanks,
- Juri
next prev parent reply other threads:[~2018-09-25 13:07 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-03 14:27 [PATCH v5 0/5] sched/deadline: fix cpusets bandwidth accounting Juri Lelli
2018-09-03 14:27 ` [PATCH v5 1/5] sched/topology: Adding function partition_sched_domains_locked() Juri Lelli
2018-09-03 14:27 ` [PATCH v5 2/5] sched/core: Streamlining calls to task_rq_unlock() Juri Lelli
2018-09-03 14:27 ` [PATCH v5 3/5] cgroup/cpuset: make callback_lock raw Juri Lelli
2018-09-25 14:34 ` Juri Lelli
2018-11-07 9:59 ` Juri Lelli
2018-11-07 15:53 ` Tejun Heo
2018-11-07 16:38 ` Juri Lelli
2018-11-08 11:22 ` Juri Lelli
2018-11-08 19:11 ` Waiman Long
2018-11-09 10:34 ` Juri Lelli
2018-09-03 14:28 ` [PATCH v5 4/5] sched/core: Prevent race condition between cpuset and __sched_setscheduler() Juri Lelli
2018-10-03 19:42 ` Steven Rostedt
2018-10-04 9:04 ` Juri Lelli
2018-11-08 15:49 ` Waiman Long
2018-11-08 16:23 ` Juri Lelli
2018-09-03 14:28 ` [PATCH v5 5/5] cpuset: Rebuild root domain deadline accounting information Juri Lelli
2018-09-25 12:32 ` Peter Zijlstra
2018-09-25 13:07 ` Juri Lelli [this message]
2018-09-25 12:53 ` Peter Zijlstra
2018-09-25 13:08 ` Juri Lelli
2018-09-25 8:14 ` [PATCH v5 0/5] sched/deadline: fix cpusets bandwidth accounting Juri Lelli
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=20180925130750.GA25664@localhost.localdomain \
--to=juri.lelli@redhat.com \
--cc=bristot@redhat.com \
--cc=cgroups@vger.kernel.org \
--cc=claudio@evidence.eu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lizefan@huawei.com \
--cc=luca.abeni@santannapisa.it \
--cc=mathieu.poirier@linaro.org \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.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 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.