From: Nishanth Aravamudan Date: Sat, 9 Jul 2005 00:10:00 +0000 (-0700) Subject: [IA64] use msleep_interruptible() instead of schedule_timeout X-Git-Tag: v2.6.13-rc3~90^2~1 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=699139279d29e36e39d353b0536b510dab2e5ffa;p=linux-2.6 [IA64] use msleep_interruptible() instead of schedule_timeout Description: Replace schedule_timeout() with msleep_interruptible() to guarantee the task delays as expected. Signed-off-by: Nishanth Aravamudan Acked-by: Dean Nelson Signed-off-by: Tony Luck --- diff --git a/arch/ia64/sn/kernel/xpc_main.c b/arch/ia64/sn/kernel/xpc_main.c index 177ddb748e..d580adcad9 100644 --- a/arch/ia64/sn/kernel/xpc_main.c +++ b/arch/ia64/sn/kernel/xpc_main.c @@ -53,6 +53,7 @@ #include #include #include +#include #include #include #include @@ -308,8 +309,7 @@ xpc_make_first_contact(struct xpc_partition *part) "partition %d\n", XPC_PARTID(part)); /* wait a 1/4 of a second or so */ - set_current_state(TASK_INTERRUPTIBLE); - (void) schedule_timeout(0.25 * HZ); + msleep_interruptible(250); if (part->act_state == XPC_P_DEACTIVATING) { return part->reason; @@ -841,9 +841,7 @@ xpc_do_exit(void) down(&xpc_discovery_exited); - set_current_state(TASK_INTERRUPTIBLE); - schedule_timeout(0.3 * HZ); - set_current_state(TASK_RUNNING); + msleep_interruptible(300); /* wait for all partitions to become inactive */ @@ -860,12 +858,8 @@ xpc_do_exit(void) } } - if (active_part_count) { - set_current_state(TASK_INTERRUPTIBLE); - schedule_timeout(0.3 * HZ); - set_current_state(TASK_RUNNING); - } - + if (active_part_count) + msleep_interruptible(300); } while (active_part_count > 0);