[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070504182433.GA11595@verizon.net>
Date: Fri, 4 May 2007 11:24:33 -0700
From: Don Fry <pcnet32@...izon.net>
To: Lennart Sorensen <lsorense@...lub.uwaterloo.ca>
Cc: Frederik Deweerdt <deweerdt@...e.fr>, linux-kernel@...r.kernel.org,
netdev@...r.kernel.org
Subject: Re: Strange soft lockup detected message (looks like spin_lock bug in pcnet32)
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
-
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