From: Paul Menage <menage@google.com>
To: Colin Cross <ccross@android.com>
Cc: Li Zefan <lizf@cn.fujitsu.com>,
containers@lists.linux-foundation.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/2] cgroup: Set CGRP_RELEASABLE when adding to a cgroup
Date: Wed, 24 Nov 2010 16:21:58 -0800 [thread overview]
Message-ID: <AANLkTimJA52-GTM=AzS+tkOugrsi6Keh0_j87vK1BkGv@mail.gmail.com> (raw)
In-Reply-To: <AANLkTimwvP2Ey1gJ6AbbFNtDKjGZt4cwqL=08nGBa_PT@mail.gmail.com>
On Wed, Nov 24, 2010 at 4:11 PM, Colin Cross <ccross@android.com> wrote:
>>
>> We seem to have lost some notify_on_release() checks - maybe move that
>> to check_for_release()?
> check_for_release immediately calls cgroup_is_releasable, which checks
> for the same bit as notify_on_release. There's no need for
> CGRP_RELEASABLE to depend on notify_on_release, or to check
> notify_on_release before calling check_for_release.
OK.
> I matched the existing behavior, __css_put sets CGRP_RELEASABLE when
> refcnt goes to 0.
>
Ah, we do appear to have had that behaviour for a while. I don't
remember the justification for it at this point :-)
> check_for_release is only called from __css_put, cgroup_rmdir, and
> __put_css_set (or free_css_set_work after my second patch). Those all
> imply that __css_get, get_css_set, or cgroup_create have been
> previously called, which are the functions that set CGRP_RELEASABLE.
Not in one case - if we create a new cgroup and try to move a thread
into it, but the thread is exiting as we move it, we'll call
put_css_set() on the new css_set, which will drop the refcount on the
target cgroup back to 0. We wouldn't want the auto-release
notification to kick in in that situation, I think.
Paul
next prev parent reply other threads:[~2010-11-25 0:22 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-21 2:00 [PATCH] cgroup: Remove RCU from task->cgroups Colin Cross
2010-11-21 23:02 ` Colin Cross
2010-11-22 4:06 ` [PATCH] cgroup: Convert synchronize_rcu to call_rcu in cgroup_attach_task Colin Cross
2010-11-23 8:14 ` Li Zefan
2010-11-23 8:58 ` Colin Cross
2010-11-23 20:22 ` Colin Cross
2010-11-24 1:24 ` Paul Menage
2010-11-24 1:43 ` [PATCH] cgroup: Remove call to synchronize_rcu " Colin Cross
2010-11-24 2:29 ` Colin Cross
2011-01-22 1:17 ` Bryan Huntsman
2011-01-22 2:04 ` Colin Cross
2011-01-28 1:17 ` Bryan Huntsman
2010-11-24 2:06 ` [PATCH] cgroup: Convert synchronize_rcu to call_rcu " Li Zefan
2010-11-24 2:10 ` Colin Cross
2010-11-24 5:37 ` [PATCH 1/2] cgroup: Set CGRP_RELEASABLE when adding to a cgroup Colin Cross
2010-11-24 23:54 ` Paul Menage
2010-11-25 0:11 ` Colin Cross
2010-11-25 0:18 ` Colin Cross
2010-11-25 0:21 ` Paul Menage [this message]
2010-12-03 3:07 ` Colin Cross
2010-12-17 0:54 ` Paul Menage
2010-12-17 1:12 ` Colin Cross
2011-01-28 1:17 ` Bryan Huntsman
2011-01-28 1:30 ` Paul Menage
2011-01-28 1:48 ` Michael Bohan
2010-11-24 5:37 ` [PATCH 2/2] cgroup: Remove call to synchronize_rcu in cgroup_attach_task Colin Cross
2011-01-28 1:17 ` Bryan Huntsman
2010-11-24 18:58 ` [PATCH] cgroup: Convert synchronize_rcu to call_rcu " Paul Menage
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='AANLkTimJA52-GTM=AzS+tkOugrsi6Keh0_j87vK1BkGv@mail.gmail.com' \
--to=menage@google.com \
--cc=ccross@android.com \
--cc=containers@lists.linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lizf@cn.fujitsu.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;
as well as URLs for NNTP newsgroup(s).