From: Don Fry <pcnet32@verizon.net>
To: Lennart Sorensen <lsorense@csclub.uwaterloo.ca>
Cc: Frederik Deweerdt <deweerdt@free.fr>,
linux-kernel@vger.kernel.org, netdev@vger.kernel.org
Subject: Re: Strange soft lockup detected message (looks like spin_lock bug in pcnet32)
Date: Fri, 4 May 2007 11:24:33 -0700 [thread overview]
Message-ID: <20070504182433.GA11595@verizon.net> (raw)
In-Reply-To: <20070504175017.GD8753@csclub.uwaterloo.ca>
All instances of obtaining the lock in pcnet32 are done as
spin_lock_irqsave except the interrupt handler itself. The interrupt mask
needs to be saved everywhere else, but the interrupt handler is known not
to need to save the flags.
If the lock is held and the same CPU tries to get the lock again, it will
wait a very long time ;-(. I believe the locking is fine for a
non-preemptable kernel, but I have little experience with a preemptable
kernel.
When does a preemptable kernel allow interrupts to occur?
Is there a bug in this particular architectures locking code?
>From looking at preempt-locking.txt the driver has (1) no per-cpu data,
(2) 'CPU state protection' should be fine,
(3) the 'lock is acquired and released by the same task'.
I don't see a problem unless I am misunderstanding something.
Don
next prev parent reply other threads:[~2007-05-04 18:55 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20070503203143.GA8753@csclub.uwaterloo.ca>
2007-05-04 14:10 ` Strange soft lockup detected message (looks like spin_lock bug in pcnet32) Lennart Sorensen
2007-05-04 14:33 ` Frederik Deweerdt
2007-05-04 15:19 ` Lennart Sorensen
2007-05-04 15:34 ` Frederik Deweerdt
2007-05-04 15:40 ` Lennart Sorensen
2007-05-04 17:44 ` Lennart Sorensen
2007-05-04 17:50 ` Lennart Sorensen
2007-05-04 18:24 ` Don Fry [this message]
2007-05-04 19:02 ` Lennart Sorensen
2007-05-07 14:08 ` Lennart Sorensen
2007-05-07 14:48 ` Frederik Deweerdt
2007-05-07 17:45 ` Lennart Sorensen
2007-06-04 15:06 ` Lennart Sorensen
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=20070504182433.GA11595@verizon.net \
--to=pcnet32@verizon.net \
--cc=deweerdt@free.fr \
--cc=linux-kernel@vger.kernel.org \
--cc=lsorense@csclub.uwaterloo.ca \
--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).