mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [patch 06/26]  char/ftape-io: replace  schedule_timeout() with msleep_interruptible()
@ 2004-09-23 20:25 janitor
  0 siblings, 0 replies; only message in thread
From: janitor @ 2004-09-23 20:25 UTC (permalink / raw)
  To: akpm; +Cc: linux-kernel, janitor, nacc




Any comments would be appreciated. 

Description: Use msleep_interruptible() instead of schedule_timeout() to
guarantee the task delays as expected. In this case, this allowed for
the removal of the entire do-while.

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>

---

 linux-2.6.9-rc2-bk7-max/drivers/char/ftape/lowlevel/ftape-io.c |   20 +++-------
 1 files changed, 7 insertions(+), 13 deletions(-)

diff -puN drivers/char/ftape/lowlevel/ftape-io.c~msleep_interruptible-drivers_char_ftape-io drivers/char/ftape/lowlevel/ftape-io.c
--- linux-2.6.9-rc2-bk7/drivers/char/ftape/lowlevel/ftape-io.c~msleep_interruptible-drivers_char_ftape-io	2004-09-21 22:49:10.000000000 +0200
+++ linux-2.6.9-rc2-bk7-max/drivers/char/ftape/lowlevel/ftape-io.c	2004-09-21 22:49:48.000000000 +0200
@@ -32,6 +32,7 @@
 #include <asm/system.h>
 #include <linux/ioctl.h>
 #include <linux/mtio.h>
+#include <linux/delay.h>
 
 #include <linux/ftape.h>
 #include <linux/qic117.h>
@@ -96,19 +97,12 @@ void ftape_sleep(unsigned int time)
 		timeout = ticks;
 		save_flags(flags);
 		sti();
-		set_current_state(TASK_INTERRUPTIBLE);
-		do {
-			/*  Mmm. Isn't current->blocked == 0xffffffff ?
-			 */
-			if (signal_pending(current)) {
-				TRACE(ft_t_err,
-				      "awoken by non-blocked signal :-(");
-				break;	/* exit on signal */
-			}
-			while (current->state != TASK_RUNNING) {
-				timeout = schedule_timeout(timeout);
-			}
-		} while (timeout);
+		msleep_interruptible(jiffies_to_msecs(timeout));
+		/*  Mmm. Isn't current->blocked == 0xffffffff ?
+		 */
+		if (signal_pending(current)) {
+			TRACE(ft_t_err, "awoken by non-blocked signal :-(");
+		}
 		restore_flags(flags);
 	}
 	TRACE_EXIT;
_

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2004-09-24  2:09 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-09-23 20:25 [patch 06/26] char/ftape-io: replace schedule_timeout() with msleep_interruptible() janitor

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®