* [Cluster-devel] [PATCH] dlm: Fix spin lock already unlocked bug
@ 2007-01-02 14:18 Patrick Caulfield
2007-01-02 15:01 ` Robert Peterson
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Patrick Caulfield @ 2007-01-02 14:18 UTC (permalink / raw)
To: cluster-devel.redhat.com
From the "how the hell did that get in there" collection.
I just noticed this message when testing some other changes I'd made to lowcomms (to use workqueues) but the problem seems to be in
the current git trees too. I'm amazed no-one has seen it.
BUG: spinlock already unlocked on CPU#1, dlm_recoverd/16868
Please check this before committing it someone (everyone?), in case I'm hallucinating after all the christmas punch ;-)
Signed-Off-By: Patrick Caulfield <pcaulfie@redhat.com>
--- lowcomms-tcp.c 2007-01-02 13:51:40.000000000 +0000
+++ lowcomms-tcp.c.new 2007-01-02 14:01:16.000000000 +0000
@@ -709,6 +709,7 @@
if (!con)
return NULL;
+ spin_lock(&con->writequeue_lock);
e = list_entry(con->writequeue.prev, struct writequeue_entry, list);
if ((&e->list == &con->writequeue) ||
(PAGE_CACHE_SIZE - e->end < len)) {
@@ -747,6 +748,7 @@
struct connection *con = e->con;
int users;
+ spin_lock(&con->writequeue_lock);
users = --e->users;
if (users)
goto out;
^ permalink raw reply [flat|nested] 4+ messages in thread* [Cluster-devel] [PATCH] dlm: Fix spin lock already unlocked bug
2007-01-02 14:18 [Cluster-devel] [PATCH] dlm: Fix spin lock already unlocked bug Patrick Caulfield
@ 2007-01-02 15:01 ` Robert Peterson
2007-01-02 15:12 ` David Teigland
2007-01-02 17:08 ` Patrick Caulfield
2 siblings, 0 replies; 4+ messages in thread
From: Robert Peterson @ 2007-01-02 15:01 UTC (permalink / raw)
To: cluster-devel.redhat.com
Patrick Caulfield wrote:
> >From the "how the hell did that get in there" collection.
>
> I just noticed this message when testing some other changes I'd made to lowcomms (to use workqueues) but the problem seems to be in
> the current git trees too. I'm amazed no-one has seen it.
>
> BUG: spinlock already unlocked on CPU#1, dlm_recoverd/16868
>
> Please check this before committing it someone (everyone?), in case I'm hallucinating after all the christmas punch ;-)
>
>
> Signed-Off-By: Patrick Caulfield <pcaulfie@redhat.com>
>
>
> --- lowcomms-tcp.c 2007-01-02 13:51:40.000000000 +0000
> +++ lowcomms-tcp.c.new 2007-01-02 14:01:16.000000000 +0000
> @@ -709,6 +709,7 @@
> if (!con)
> return NULL;
>
> + spin_lock(&con->writequeue_lock);
> e = list_entry(con->writequeue.prev, struct writequeue_entry, list);
> if ((&e->list == &con->writequeue) ||
> (PAGE_CACHE_SIZE - e->end < len)) {
> @@ -747,6 +748,7 @@
> struct connection *con = e->con;
> int users;
>
> + spin_lock(&con->writequeue_lock);
> users = --e->users;
> if (users)
> goto out;
>
Hi Patrick,
For what it's worth: I haven't encountered the messages, and my previous
checkouts of lowcomms-tcp.c (2747 and 2876 of the RHEL5 kernels) all
seem to have these spin_locks already. I've looked through that code
pretty
carefully in the recent past and I'm pretty sure the locks match the unlocks
in the aforementioned versions. So I'm guessing they were dropped recently
by accident.
Regards,
Bob Peterson
^ permalink raw reply [flat|nested] 4+ messages in thread* [Cluster-devel] [PATCH] dlm: Fix spin lock already unlocked bug
2007-01-02 14:18 [Cluster-devel] [PATCH] dlm: Fix spin lock already unlocked bug Patrick Caulfield
2007-01-02 15:01 ` Robert Peterson
@ 2007-01-02 15:12 ` David Teigland
2007-01-02 17:08 ` Patrick Caulfield
2 siblings, 0 replies; 4+ messages in thread
From: David Teigland @ 2007-01-02 15:12 UTC (permalink / raw)
To: cluster-devel.redhat.com
On Tue, Jan 02, 2007 at 02:18:08PM +0000, Patrick Caulfield wrote:
> >From the "how the hell did that get in there" collection.
>
> I just noticed this message when testing some other changes I'd made to
> lowcomms (to use workqueues) but the problem seems to be in the current
> git trees too. I'm amazed no-one has seen it.
>
> BUG: spinlock already unlocked on CPU#1, dlm_recoverd/16868
>
> Please check this before committing it someone (everyone?), in case I'm
> hallucinating after all the christmas punch ;-)
Looks good to me (haven't seen it since my test machines are UP). The
spin_locks are in the RHEL5 code, I'm not sure how they disappeared
upstream.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Cluster-devel] [PATCH] dlm: Fix spin lock already unlocked bug
2007-01-02 14:18 [Cluster-devel] [PATCH] dlm: Fix spin lock already unlocked bug Patrick Caulfield
2007-01-02 15:01 ` Robert Peterson
2007-01-02 15:12 ` David Teigland
@ 2007-01-02 17:08 ` Patrick Caulfield
2 siblings, 0 replies; 4+ messages in thread
From: Patrick Caulfield @ 2007-01-02 17:08 UTC (permalink / raw)
To: cluster-devel.redhat.com
Patrick Caulfield wrote:
>>From the "how the hell did that get in there" collection.
>
> I just noticed this message when testing some other changes I'd made to lowcomms (to use workqueues) but the problem seems to be in
> the current git trees too. I'm amazed no-one has seen it.
>
> BUG: spinlock already unlocked on CPU#1, dlm_recoverd/16868
>
> Please check this before committing it someone (everyone?), in case I'm hallucinating after all the christmas punch ;-)
>
>
> Signed-Off-By: Patrick Caulfield <pcaulfie@redhat.com>
Patch attached rather than inline...
--
patrick
-------------- next part --------------
A non-text attachment was scrubbed...
Name: spinlock.patch
Type: text/x-patch
Size: 521 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/cluster-devel/attachments/20070102/c94c3cd2/attachment.bin>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2007-01-02 17:08 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-01-02 14:18 [Cluster-devel] [PATCH] dlm: Fix spin lock already unlocked bug Patrick Caulfield
2007-01-02 15:01 ` Robert Peterson
2007-01-02 15:12 ` David Teigland
2007-01-02 17:08 ` Patrick Caulfield
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).