Re: [PATCH] cgroup: make cgrp->event_list_lock irqsafe

2013-03-05 Thread Tejun Heo
On Tue, Mar 5, 2013 at 11:21 PM, Tejun Heo wrote: >> wake_up() is also allowed to be called from irq handler? > > Yeah, well, we don't consider everything which uses wake_up() to be > irq-safe. I'm not necessarily against making the lock irq-safe but at More precise way to think about it wiatqueu

Re: [PATCH] cgroup: make cgrp->event_list_lock irqsafe

2013-03-05 Thread Tejun Heo
Hello, Li. On Tue, Mar 5, 2013 at 11:15 PM, Li Zefan wrote: > wqh->lock is used through out fs/eventfd.c. I don't know if currently there's > any kernel user using eventfd APIs in an irq handler, but at least that should > be allowed. > > wake_up() is also allowed to be called from irq handler?

Re: [PATCH] cgroup: make cgrp->event_list_lock irqsafe

2013-03-05 Thread Li Zefan
On 2013/3/6 15:02, Tejun Heo wrote: > On Tue, Mar 5, 2013 at 11:00 PM, Li Zefan wrote: >>> Why should wqh->lock be hard-irq-safe? Is it actually grabbed from >>> irq context? >> >> becase cgroup_event_wake() is a callback to a wait queue, and it's wake_up() >> that acquires wqh->lock with irq dis

Re: [PATCH] cgroup: make cgrp->event_list_lock irqsafe

2013-03-05 Thread Tejun Heo
On Tue, Mar 5, 2013 at 11:00 PM, Li Zefan wrote: >> Why should wqh->lock be hard-irq-safe? Is it actually grabbed from >> irq context? > > becase cgroup_event_wake() is a callback to a wait queue, and it's wake_up() > that acquires wqh->lock with irq disabled. So, acquiring a lock with irq disab

Re: [PATCH] cgroup: make cgrp->event_list_lock irqsafe

2013-03-05 Thread Li Zefan
On 2013/3/6 14:22, Tejun Heo wrote: > Hello, Li. > > On Wed, Mar 06, 2013 at 11:28:01AM +0800, Li Zefan wrote: >> cgroup_event_wake() is called with hardirq-safe wqh->lock held, so >> the nested cgrp->event_list_lock should also be hardirq-safe. >> >> Fortunately I don't think the deadlock can hap

Re: [PATCH] cgroup: make cgrp->event_list_lock irqsafe

2013-03-05 Thread Tejun Heo
Hello, Li. On Wed, Mar 06, 2013 at 11:28:01AM +0800, Li Zefan wrote: > cgroup_event_wake() is called with hardirq-safe wqh->lock held, so > the nested cgrp->event_list_lock should also be hardirq-safe. > > Fortunately I don't think the deadlock can happen in real life. > > Lockdep never complain

[PATCH] cgroup: make cgrp->event_list_lock irqsafe

2013-03-05 Thread Li Zefan
cgroup_event_wake() is called with hardirq-safe wqh->lock held, so the nested cgrp->event_list_lock should also be hardirq-safe. Fortunately I don't think the deadlock can happen in real life. Lockdep never complained, maybe because it never found wqh->lock was held in irq context? Signed-off-by