From: Balbir Singh on
* Vivek Goyal <vgoyal(a)redhat.com> [2010-04-13 10:03:02]:

> On Tue, Apr 13, 2010 at 09:57:18AM -0400, Vivek Goyal wrote:
> > On Tue, Apr 13, 2010 at 01:45:53PM +0900, KAMEZAWA Hiroyuki wrote:
> >
>
> Typed wrong email id last time and mail bounced. So here is another
> attempt.
>
> > [..]
> > > -2. Locking
> > > +2.6 Locking
> > >
> > > -The memory controller uses the following hierarchy
> > > + lock_page_cgroup()/unlock_page_cgroup() should not be called under
> > > + mapping->tree_lock.
> > >
> >
> > Because I never understood very well, I will ask. Why lock_page_cgroup()
> > should not be called under mapping->tree_lock?
> >

The closest reference I can find to a conversation regarding this is

http://linux.derkeiler.com/Mailing-Lists/Kernel/2009-05/msg05158.html

--
Three Cheers,
Balbir
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Vivek Goyal on
On Tue, Apr 13, 2010 at 08:38:43PM +0530, Balbir Singh wrote:
> * Vivek Goyal <vgoyal(a)redhat.com> [2010-04-13 10:03:02]:
>
> > On Tue, Apr 13, 2010 at 09:57:18AM -0400, Vivek Goyal wrote:
> > > On Tue, Apr 13, 2010 at 01:45:53PM +0900, KAMEZAWA Hiroyuki wrote:
> > >
> >
> > Typed wrong email id last time and mail bounced. So here is another
> > attempt.
> >
> > > [..]
> > > > -2. Locking
> > > > +2.6 Locking
> > > >
> > > > -The memory controller uses the following hierarchy
> > > > + lock_page_cgroup()/unlock_page_cgroup() should not be called under
> > > > + mapping->tree_lock.
> > > >
> > >
> > > Because I never understood very well, I will ask. Why lock_page_cgroup()
> > > should not be called under mapping->tree_lock?
> > >
>
> The closest reference I can find to a conversation regarding this is
>
> http://linux.derkeiler.com/Mailing-Lists/Kernel/2009-05/msg05158.html
>

Thanks Balbir. So basically idea is that page_cgroup_lock() does not
disable interrupts hence can be interrupted. So don't do
lock_page_cgroup() in interrupt context at all otherwise it can lead to
various kind of deadlock scenarios.

One of those scenarios is lock_page_cgroup() under mapping->tree_lock.

That helps. Thanks

Vivek

> --
> Three Cheers,
> Balbir
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/