All of lore.kernel.org
 help / color / mirror / Atom feed
From: Balbir Singh <balbir@linux.vnet.ibm.com>
To: "\"Paul (??) Menage\"" <menage@google.com>
Cc: dhaval@linux.vnet.ibm.com, Pavel Emelianov <xemul@sw.ru>,
	linux kernel mailing list <linux-kernel@vger.kernel.org>,
	Paul Jackson <pj@sgi.com>,
	Linux Containers <containers@lists.osdl.org>,
	Andrew Morton <akpm@linux-foundation.org>
Subject: Re: Containers: css_put() dilemma
Date: Tue, 17 Jul 2007 23:10:59 +0530	[thread overview]
Message-ID: <469CFF2B.1080702@linux.vnet.ibm.com> (raw)
In-Reply-To: <6599ad830707170849v11fe8cecs6d172cd38d247e09@mail.gmail.com>

Paul (??) Menage wrote:
> Because as soon as you do the atomic_dec_and_test() on css->refcnt and
> the refcnt hits zero, then theoretically someone other thread (that
> already holds container_mutex) could check that the refcount is zero
> and free the container structure.
> 

Hi, Paul,

That sounds correct. I wonder now if the solution should be some form
of delegation for deletion of unreferenced containers (HINT: work queue
or kernel threads).

> Adding a synchronize_rcu in container_diput() guarantees that the
> container structure won't be freed while someone may still be
> accessing it.
> 

Do we take rcu_read_lock() in css_put() path or use call_rcu() to
free the container?

>>
>> Could you please elaborate as to why using a release agent is broken
>> when the memory controller is attached to it?
> 
> Because then it will try to take container_mutex in css_put() if it
> drops the last reference to a container, which is the thing that you
> said you had to avoid since you called css_put() in contexts that
> couldn't sleep.
> 
> Paul


-- 
	Warm Regards,
	Balbir Singh
	Linux Technology Center
	IBM, ISTL

  parent reply	other threads:[~2007-07-17 17:40 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-07-16 18:50 Containers: css_put() dilemma Balbir Singh
2007-07-16 19:03 ` Paul (宝瑠) Menage
     [not found]   ` <6599ad830707161203o7f148c75p52e77d4be3ace487-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2007-07-17  2:21     ` Balbir Singh
2007-07-17  2:21       ` Balbir Singh
2007-07-17  2:35       ` Paul (宝瑠) Menage
2007-07-17  7:00         ` Balbir Singh
2007-07-17  7:18           ` Paul (宝瑠) Menage
2007-07-17 10:28             ` Balbir Singh
2007-07-17 15:49               ` Paul (宝瑠) Menage
2007-07-17 16:02                 ` Dave Hansen
2007-07-17 16:15                   ` Paul (宝瑠) Menage
2007-07-17 17:23                 ` Paul Jackson
2007-07-17 17:40                 ` Balbir Singh [this message]
2007-07-17 17:44                   ` Paul (宝瑠) Menage
2007-07-17 17:55                     ` Paul Jackson
     [not found]                       ` <20070717105509.95d72b35.pj-sJ/iWh9BUns@public.gmane.org>
2007-07-17 17:57                         ` Paul (宝瑠) Menage
2007-07-17 17:57                           ` Paul (宝瑠) Menage
2007-07-17 18:11                     ` Balbir Singh
2007-07-17 18:26                       ` Paul (宝瑠) Menage
2007-07-18  4:29                         ` Balbir Singh
2007-07-18  5:30                           ` Balbir Singh
2007-07-18  5:52                             ` Srivatsa Vaddagiri
2007-07-18 23:15                             ` Paul Menage
2007-07-19  3:44                               ` Balbir Singh
2007-07-18  6:07                           ` Paul (宝瑠) Menage
2007-07-17 17:53                   ` Paul Jackson
2007-07-17 17:55                     ` Paul (宝瑠) Menage
     [not found]                       ` <6599ad830707171055ua1e1135ief95a5ff3cf9dfc9-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2007-07-17 17:58                         ` Paul Jackson
2007-07-17 17:58                           ` Paul Jackson

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=469CFF2B.1080702@linux.vnet.ibm.com \
    --to=balbir@linux.vnet.ibm.com \
    --cc=akpm@linux-foundation.org \
    --cc=containers@lists.osdl.org \
    --cc=dhaval@linux.vnet.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=menage@google.com \
    --cc=pj@sgi.com \
    --cc=xemul@sw.ru \
    /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.