Re: [NFS] 2.6.23-rc1-mm2

2007-08-07 Thread Oleg Nesterov
On 08/07, Trond Myklebust wrote: > > On Wed, 2007-08-08 at 02:20 +0400, Oleg Nesterov wrote: > > > But. nfs4_renew_state() checks list_empty(&clp->cl_superblocks) under > > clp->cl_sem? So, if it is possible that clp->cl_renewd was scheduled > > at the time when nfs4_kill_renewd(), we can deadlock

Re: [NFS] 2.6.23-rc1-mm2

2007-08-07 Thread Trond Myklebust
On Wed, 2007-08-08 at 02:20 +0400, Oleg Nesterov wrote: > But. nfs4_renew_state() checks list_empty(&clp->cl_superblocks) under > clp->cl_sem? So, if it is possible that clp->cl_renewd was scheduled > at the time when nfs4_kill_renewd(), we can deadlock, no? Because > nfs4_renew_state() needs clp-

Re: [NFS] 2.6.23-rc1-mm2

2007-08-07 Thread Oleg Nesterov
On 08/07, Trond Myklebust wrote: > > On Wed, 2007-08-08 at 01:37 +0400, Oleg Nesterov wrote: > > On 08/07, Trond Myklebust wrote: > > > > > > On Fri, 2007-08-03 at 21:21 +0400, Oleg Nesterov wrote: > > > > On 08/03, Trond Myklebust wrote: > > > > > I'll have a look at this. I suspect that most if n

Re: [NFS] 2.6.23-rc1-mm2

2007-08-07 Thread Trond Myklebust
On Wed, 2007-08-08 at 01:37 +0400, Oleg Nesterov wrote: > On 08/07, Trond Myklebust wrote: > > > > On Fri, 2007-08-03 at 21:21 +0400, Oleg Nesterov wrote: > > > On 08/03, Trond Myklebust wrote: > > > > I'll have a look at this. I suspect that most if not all of our calls to > > > > run_workqueue()/

Re: [NFS] 2.6.23-rc1-mm2

2007-08-07 Thread Oleg Nesterov
On 08/07, Trond Myklebust wrote: > > On Fri, 2007-08-03 at 21:21 +0400, Oleg Nesterov wrote: > > On 08/03, Trond Myklebust wrote: > > > I'll have a look at this. I suspect that most if not all of our calls to > > > run_workqueue()/flush_scheduled_work() can now be replaced by more > > > targeted ca

Re: [NFS] 2.6.23-rc1-mm2

2007-08-07 Thread Trond Myklebust
On Fri, 2007-08-03 at 21:21 +0400, Oleg Nesterov wrote: > On 08/03, Trond Myklebust wrote: > > I'll have a look at this. I suspect that most if not all of our calls to > > run_workqueue()/flush_scheduled_work() can now be replaced by more > > targeted calls to cancel_work_sync() and cancel_delayed_

Re: [NFS] 2.6.23-rc1-mm2

2007-08-07 Thread Marc Dietrich
Am Monday 06 August 2007 18:24 schrieb Trond Myklebust: > On Mon, 2007-08-06 at 13:05 +0200, Marc Dietrich wrote: > > Hi, > > > > > (...) > > > > just booting into X is enough. > > > > I applied the patch, but now I get: > > > > = > > [ INFO: inconsistent lock state

Re: [NFS] 2.6.23-rc1-mm2

2007-08-06 Thread Trond Myklebust
On Mon, 2007-08-06 at 13:05 +0200, Marc Dietrich wrote: > Hi, > > Am Monday 06 August 2007 08:24 schrieb Johannes Berg: > > On Fri, 2007-08-03 at 21:21 +0400, Oleg Nesterov wrote: > > > To avoid a possible confusion: it is still OK if work->func() flushes > > > its own workqueue, so strictly speak

Re: [NFS] 2.6.23-rc1-mm2

2007-08-06 Thread Johannes Berg
On Mon, 2007-08-06 at 13:05 +0200, Marc Dietrich wrote: > I applied the patch, but now I get: > > = > [ INFO: inconsistent lock state ] > 2.6.23-rc1-mm2 #4 > - > inconsistent {softirq-on-W} -> {in-softirq-W} usage. > swapper/0 [HC0[0

Re: [NFS] 2.6.23-rc1-mm2

2007-08-06 Thread Marc Dietrich
Hi, Am Monday 06 August 2007 08:24 schrieb Johannes Berg: > On Fri, 2007-08-03 at 21:21 +0400, Oleg Nesterov wrote: > > To avoid a possible confusion: it is still OK if work->func() flushes > > its own workqueue, so strictly speaking this trace is false positive, > > but it would be very nice if

Re: [NFS] 2.6.23-rc1-mm2

2007-08-06 Thread Johannes Berg
On Mon, 2007-08-06 at 14:53 +0400, Oleg Nesterov wrote: > But this makes ->lockdep_map meaningless? We always take wq->lockdep_map > for reading, now we can't detect deadlocks. > > read_lock(A); > lock(B); > > vs > lock(B); > read_lock(A); > > is valid, kernel/lockdep.c

Re: [NFS] 2.6.23-rc1-mm2

2007-08-06 Thread Oleg Nesterov
On 08/06, Johannes Berg wrote: > > On Fri, 2007-08-03 at 21:21 +0400, Oleg Nesterov wrote: > > > To avoid a possible confusion: it is still OK if work->func() flushes > > its own workqueue, so strictly speaking this trace is false positive, > > but it would be very nice if we can get rid of this p

Re: [NFS] 2.6.23-rc1-mm2

2007-08-06 Thread Johannes Berg
On Fri, 2007-08-03 at 21:21 +0400, Oleg Nesterov wrote: > To avoid a possible confusion: it is still OK if work->func() flushes > its own workqueue, so strictly speaking this trace is false positive, > but it would be very nice if we can get rid of this practice. I just had a thought: we could ge

Re: [NFS] 2.6.23-rc1-mm2

2007-08-03 Thread Oleg Nesterov
On 08/03, Trond Myklebust wrote: > > On Fri, 2007-08-03 at 09:38 -0700, Andrew Morton wrote: > > > stack backtrace: > > > [] show_trace_log_lvl+0x1a/0x30 > > > [] show_trace+0x12/0x20 > > > [] dump_stack+0x15/0x20 > > > [] __lock_acquire+0xc22/0x1030 > > > [] lock_acquire+0x61/0x80 > > > [] f

Re: [NFS] 2.6.23-rc1-mm2

2007-08-03 Thread Trond Myklebust
On Fri, 2007-08-03 at 09:38 -0700, Andrew Morton wrote: > On Fri, 3 Aug 2007 13:00:46 +0200 Marc Dietrich <[EMAIL PROTECTED]> wrote: > > > > > Hi, > > > > Am Wednesday 01 August 2007 08:09 schrieb Andrew Morton: > > > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.23-rc1/2. >