From: David Miller <davem@davemloft.net>
To: jchapman@katalix.com
Cc: jarkao2@gmail.com, netdev@vger.kernel.org
Subject: Re: [PATCH][PPPOL2TP]: Fix SMP oops in pppol2tp driver
Date: Mon, 11 Feb 2008 21:30:48 -0800 (PST) [thread overview]
Message-ID: <20080211.213048.192442721.davem@davemloft.net> (raw)
In-Reply-To: <47B0DD1E.5000608@katalix.com>
From: James Chapman <jchapman@katalix.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!
next prev parent reply other threads:[~2008-02-12 5:30 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-02-11 9:22 [PATCH][PPPOL2TP]: Fix SMP oops in pppol2tp driver James Chapman
2008-02-11 18:57 ` Jarek Poplawski
2008-02-11 22:19 ` James Chapman
2008-02-11 22:49 ` Jarek Poplawski
2008-02-11 22:55 ` Jarek Poplawski
2008-02-11 23:42 ` James Chapman
2008-02-12 10:42 ` Jarek Poplawski
2008-02-11 23:41 ` James Chapman
2008-02-12 5:30 ` David Miller [this message]
2008-02-12 10:58 ` James Chapman
2008-02-12 13:24 ` Jarek Poplawski
2008-02-13 6:00 ` David Miller
2008-02-13 7:29 ` Jarek Poplawski
2008-02-14 13:00 ` Jarek Poplawski
2008-02-18 22:09 ` James Chapman
2008-02-18 23:01 ` Jarek Poplawski
2008-02-19 9:09 ` James Chapman
2008-02-19 4:29 ` David Miller
2008-02-19 9:03 ` James Chapman
2008-02-19 10:30 ` Jarek Poplawski
2008-02-19 10:36 ` Jarek Poplawski
2008-02-19 14:37 ` James Chapman
2008-02-19 23:06 ` Jarek Poplawski
2008-02-19 23:28 ` Jarek Poplawski
2008-02-20 16:02 ` James Chapman
2008-02-20 18:38 ` Jarek Poplawski
2008-02-20 22:37 ` James Chapman
2008-02-21 8:59 ` Jarek Poplawski
2008-02-21 9:53 ` James Chapman
2008-02-21 12:08 ` Jarek Poplawski
2008-02-21 17:09 ` Jarek Poplawski
2008-02-25 12:19 ` James Chapman
2008-02-25 13:05 ` Jarek Poplawski
2008-02-25 13:39 ` Jarek Poplawski
2008-02-25 14:02 ` Jarek Poplawski
2008-02-25 21:58 ` Jarek Poplawski
2008-02-26 12:14 ` James Chapman
2008-02-26 13:03 ` Jarek Poplawski
2008-02-26 13:18 ` Jarek Poplawski
2008-02-26 20:00 ` Jarek Poplawski
2008-03-02 20:29 ` James Chapman
2008-03-03 8:22 ` Jarek Poplawski
2008-03-03 9:35 ` Jarek Poplawski
2008-02-27 10:54 ` [PATCH][PPPOL2TP] add missing sock_put() in pppol2tp_recv_dequeue() Jarek Poplawski
2008-03-02 20:31 ` James Chapman
2008-03-04 4:49 ` David Miller
2008-02-27 11:48 ` [PATCH][PPPOL2TP] add missing sock_put() in pppol2tp_tunnel_closeall() Jarek Poplawski
2008-03-02 20:32 ` James Chapman
2008-03-04 4:49 ` David Miller
2008-02-22 14:16 ` [PATCH][NET] sock.c: sk_dst_lock lockdep keys and names per af_family Jarek Poplawski
2008-02-12 7:19 ` [PATCH][PPPOL2TP]: Fix SMP oops in pppol2tp driver Jarek Poplawski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080211.213048.192442721.davem@davemloft.net \
--to=davem@davemloft.net \
--cc=jarkao2@gmail.com \
--cc=jchapman@katalix.com \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).