Re: [PATCH v3 12/13] execute the whole memcg freeing in rcu callback

2012-10-08 Thread Glauber Costa
On 10/05/2012 07:31 PM, Johannes Weiner wrote: > On Thu, Oct 04, 2012 at 02:53:13PM +0400, Glauber Costa wrote: >> On 10/01/2012 05:27 PM, Michal Hocko wrote: >>> On Tue 18-09-12 18:04:09, Glauber Costa wrote: A lot of the initialization we do in mem_cgroup_create() is done with

Re: [PATCH v3 12/13] execute the whole memcg freeing in rcu callback

2012-10-08 Thread Glauber Costa
On 10/05/2012 07:31 PM, Johannes Weiner wrote: On Thu, Oct 04, 2012 at 02:53:13PM +0400, Glauber Costa wrote: On 10/01/2012 05:27 PM, Michal Hocko wrote: On Tue 18-09-12 18:04:09, Glauber Costa wrote: A lot of the initialization we do in mem_cgroup_create() is done with softirqs enabled.

Re: [PATCH v3 12/13] execute the whole memcg freeing in rcu callback

2012-10-05 Thread Johannes Weiner
On Thu, Oct 04, 2012 at 02:53:13PM +0400, Glauber Costa wrote: > On 10/01/2012 05:27 PM, Michal Hocko wrote: > > On Tue 18-09-12 18:04:09, Glauber Costa wrote: > >> A lot of the initialization we do in mem_cgroup_create() is done with > >> softirqs > >> enabled. This include grabbing a css id,

Re: [PATCH v3 12/13] execute the whole memcg freeing in rcu callback

2012-10-05 Thread Johannes Weiner
On Thu, Oct 04, 2012 at 02:53:13PM +0400, Glauber Costa wrote: On 10/01/2012 05:27 PM, Michal Hocko wrote: On Tue 18-09-12 18:04:09, Glauber Costa wrote: A lot of the initialization we do in mem_cgroup_create() is done with softirqs enabled. This include grabbing a css id, which holds

Re: [PATCH v3 12/13] execute the whole memcg freeing in rcu callback

2012-10-04 Thread Glauber Costa
On 10/04/2012 02:53 PM, Glauber Costa wrote: > On 10/01/2012 05:27 PM, Michal Hocko wrote: >> On Tue 18-09-12 18:04:09, Glauber Costa wrote: >>> A lot of the initialization we do in mem_cgroup_create() is done with >>> softirqs >>> enabled. This include grabbing a css id, which holds

Re: [PATCH v3 12/13] execute the whole memcg freeing in rcu callback

2012-10-04 Thread Glauber Costa
On 10/01/2012 05:27 PM, Michal Hocko wrote: > On Tue 18-09-12 18:04:09, Glauber Costa wrote: >> A lot of the initialization we do in mem_cgroup_create() is done with >> softirqs >> enabled. This include grabbing a css id, which holds >id_lock->rlock, and >> the per-zone trees, which holds

Re: [PATCH v3 12/13] execute the whole memcg freeing in rcu callback

2012-10-04 Thread Glauber Costa
On 10/01/2012 05:27 PM, Michal Hocko wrote: On Tue 18-09-12 18:04:09, Glauber Costa wrote: A lot of the initialization we do in mem_cgroup_create() is done with softirqs enabled. This include grabbing a css id, which holds ss-id_lock-rlock, and the per-zone trees, which holds

Re: [PATCH v3 12/13] execute the whole memcg freeing in rcu callback

2012-10-04 Thread Glauber Costa
On 10/04/2012 02:53 PM, Glauber Costa wrote: On 10/01/2012 05:27 PM, Michal Hocko wrote: On Tue 18-09-12 18:04:09, Glauber Costa wrote: A lot of the initialization we do in mem_cgroup_create() is done with softirqs enabled. This include grabbing a css id, which holds ss-id_lock-rlock, and

Re: [PATCH v3 12/13] execute the whole memcg freeing in rcu callback

2012-10-01 Thread Michal Hocko
On Tue 18-09-12 18:04:09, Glauber Costa wrote: > A lot of the initialization we do in mem_cgroup_create() is done with softirqs > enabled. This include grabbing a css id, which holds >id_lock->rlock, and > the per-zone trees, which holds rtpz->lock->rlock. All of those signal to the > lockdep

Re: [PATCH v3 12/13] execute the whole memcg freeing in rcu callback

2012-10-01 Thread Michal Hocko
On Tue 18-09-12 18:04:09, Glauber Costa wrote: A lot of the initialization we do in mem_cgroup_create() is done with softirqs enabled. This include grabbing a css id, which holds ss-id_lock-rlock, and the per-zone trees, which holds rtpz-lock-rlock. All of those signal to the lockdep mechanism

Re: [PATCH v3 12/13] execute the whole memcg freeing in rcu callback

2012-09-24 Thread Glauber Costa
> And the above description too makes me scratch my head quite a bit. I > can see what the patch is doing but can't understand the why. > > * Why was it punting the freeing to workqueue anyway? ISTR something > about static_keys but my memory fails. What changed? Why don't we > need it

Re: [PATCH v3 12/13] execute the whole memcg freeing in rcu callback

2012-09-24 Thread Glauber Costa
And the above description too makes me scratch my head quite a bit. I can see what the patch is doing but can't understand the why. * Why was it punting the freeing to workqueue anyway? ISTR something about static_keys but my memory fails. What changed? Why don't we need it anymore?

Re: [PATCH v3 12/13] execute the whole memcg freeing in rcu callback

2012-09-21 Thread Tejun Heo
Hello, Glauber. On Tue, Sep 18, 2012 at 06:04:09PM +0400, Glauber Costa wrote: > A lot of the initialization we do in mem_cgroup_create() is done with softirqs > enabled. This include grabbing a css id, which holds >id_lock->rlock, and > the per-zone trees, which holds rtpz->lock->rlock. All of

Re: [PATCH v3 12/13] execute the whole memcg freeing in rcu callback

2012-09-21 Thread Tejun Heo
Hello, Glauber. On Tue, Sep 18, 2012 at 06:04:09PM +0400, Glauber Costa wrote: A lot of the initialization we do in mem_cgroup_create() is done with softirqs enabled. This include grabbing a css id, which holds ss-id_lock-rlock, and the per-zone trees, which holds rtpz-lock-rlock. All of those

[PATCH v3 12/13] execute the whole memcg freeing in rcu callback

2012-09-18 Thread Glauber Costa
A lot of the initialization we do in mem_cgroup_create() is done with softirqs enabled. This include grabbing a css id, which holds >id_lock->rlock, and the per-zone trees, which holds rtpz->lock->rlock. All of those signal to the lockdep mechanism that those locks can be used in SOFTIRQ-ON-W

[PATCH v3 12/13] execute the whole memcg freeing in rcu callback

2012-09-18 Thread Glauber Costa
A lot of the initialization we do in mem_cgroup_create() is done with softirqs enabled. This include grabbing a css id, which holds ss-id_lock-rlock, and the per-zone trees, which holds rtpz-lock-rlock. All of those signal to the lockdep mechanism that those locks can be used in SOFTIRQ-ON-W