Skip to content

Commit

Permalink
[IA64] use msleep_interruptible() instead of schedule_timeout
Browse files Browse the repository at this point in the history
Description: Replace schedule_timeout() with msleep_interruptible() to
guarantee the task delays as expected.

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
Acked-by: Dean Nelson <dcn@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
  • Loading branch information
Nishanth Aravamudan authored and Tony Luck committed Jul 11, 2005
1 parent d0feafb commit 6991392
Showing 1 changed file with 5 additions and 11 deletions.
16 changes: 5 additions & 11 deletions arch/ia64/sn/kernel/xpc_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@
#include <linux/cache.h>
#include <linux/interrupt.h>
#include <linux/slab.h>
#include <linux/delay.h>
#include <asm/sn/intr.h>
#include <asm/sn/sn_sal.h>
#include <asm/uaccess.h>
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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 */
Expand All @@ -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);


Expand Down

0 comments on commit 6991392

Please sign in to comment.