[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20080211.213048.192442721.davem@davemloft.net>
Date: Mon, 11 Feb 2008 21:30:48 -0800 (PST)
From: David Miller <davem@...emloft.net>
To: jchapman@...alix.com
Cc: jarkao2@...il.com, netdev@...r.kernel.org
Subject: Re: [PATCH][PPPOL2TP]: Fix SMP oops in pppol2tp driver
From: James Chapman <jchapman@...alix.com>
Date: Mon, 11 Feb 2008 23:41:18 +0000
> Jarek Poplawski wrote:
> > On Mon, Feb 11, 2008 at 10:19:35PM +0000, James Chapman wrote:
> > ...
> >> Below is example output from lockdep. The oops is reproducible when
> >> creating/deleting lots of sessions while passing data. The lock is being
> >> acquired for read and write in softirq contexts.
> >>
> >> Is there a better way to fix this?
> >>
> >> =================================
> >> [ INFO: inconsistent lock state ]
> >> 2.6.24-core2 #1
> >> ---------------------------------
> >> inconsistent {in-softirq-R} -> {softirq-on-W} usage.
> >> openl2tpd/3215 [HC0[0]:SC0[0]:HE1:SE1] takes:
> >> (&tunnel->hlist_lock){---?}, at: [<f8eea157>]
> >> pppol2tp_connect+0x517/0x6d0 [pppol2tp]
> >> {in-softirq-R} state was registered at:
> >
> > IMHO, according to this, disabling bh should be enough. And if it's
> > like in this report: only read_lock is taken from softirqs, then this
> > should be necessary to change only all write_locks to write_lock_bh
> > (of course unless somewhere bhs are disabled already). Unless I miss
> > something?!
>
> I thought so too. I tried _bh locks first and the problem still
> occurred. Maybe I'll try it again in case I messed something up.
I agree with Jarek here, I look at all the code paths that take
->hlist_lock and all of them are in user context or software
interrupts.
Please get a lockdep trace with the change to _bh intead of
hw interrupt protection so we can find out what that doesn't
work.
Thanks!
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists