sgi-xp: eliminate false detection of no heartbeat

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Linux Kernel Mailing List
Date: Thursday, January 15, 2009 - 7:00 pm

Gitweb:     http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=158bc6...
Commit:     158bc69effbf96f59c01cdeb20f8d4c184e59f8e
Parent:     cafa1d8b0c90252e73f20db1b6f32cf88e73ff17
Author:     Dean Nelson <dcn@sgi.com>
AuthorDate: Thu Jan 15 13:50:57 2009 -0800
Committer:  Linus Torvalds <torvalds@linux-foundation.org>
CommitDate: Thu Jan 15 16:39:37 2009 -0800

    sgi-xp: eliminate false detection of no heartbeat
    
    After XPC has been up and running on multiple partitions for any length of
    time, if XPC on one of the partitions is stopped and restarted (either by
    a rmmod/insmod or a system restart), it is possible for the XPCs running
    on the other partitions to falsely detect a lack of heartbeat from the XPC
    that was just restarted.  This false detection will occur if the restarted
    XPC comes up within the five-seconds preceding one of the other XPC's
    heartbeat check (which occurs once every twenty seconds).
    
    The detection of no heartbeat results in the detecting XPC deactivating
    from the just restarted XPC.  The only remedy is to restart one of the
    XPCs and hope that one doesn't hit this five-second window on any of the
    other partitions.
    
    Signed-off-by: Dean Nelson <dcn@sgi.com>
    Signed-off-by: Robin Holt <holt@sgi.com>
    Cc: <stable@kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
---
 drivers/misc/sgi-xp/xpc_sn2.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/misc/sgi-xp/xpc_sn2.c b/drivers/misc/sgi-xp/xpc_sn2.c
index 73b7fb8..82fb995 100644
--- a/drivers/misc/sgi-xp/xpc_sn2.c
+++ b/drivers/misc/sgi-xp/xpc_sn2.c
@@ -899,7 +899,7 @@ xpc_update_partition_info_sn2(struct xpc_partition *part, u8 remote_rp_version,
 	dev_dbg(xpc_part, "  remote_vars_pa = 0x%016lx\n",
 		part_sn2->remote_vars_pa);
 
-	part->last_heartbeat = remote_vars->heartbeat;
+	part->last_heartbeat = remote_vars->heartbeat - 1;
 	dev_dbg(xpc_part, "  last_heartbeat = 0x%016lx\n",
 		part->last_heartbeat);
 
--
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
sgi-xp: eliminate false detection of no heartbeat, Linux Kernel Mailing ..., (Thu Jan 15, 7:00 pm)