* [PATCH 1/3] UEAGLE : use interruptible sleep
@ 2006-10-03 19:49 matthieu castet
0 siblings, 0 replies; only message in thread
From: matthieu castet @ 2006-10-03 19:49 UTC (permalink / raw)
To: greg; +Cc: linux-kernel, usbatm, linux-usb-devel, ueagle
[-- Attachment #1: Type: text/plain, Size: 252 bytes --]
Hi,
this patch use wait_event_interruptible_timeout and msleep_interruptible
beacause uninterruptible sleep (task state 'D') is counted as 1 towards
load average, like running processes.
Signed-off-by: Matthieu CASTET <castet.matthieu@free.fr>
[-- Attachment #2: eagle-interruptible --]
[-- Type: text/plain, Size: 1184 bytes --]
use *_interruptible :
Uninterruptible sleep (task state 'D') is counted as 1 towards load average, lik
e running processes. Interruptible sleep is not.
Signed-off-by: matthieu castet <castet.matthieu@free.fr>
Index: linux/drivers/usb/atm/ueagle-atm.c
===================================================================
--- linux.orig/drivers/usb/atm/ueagle-atm.c 2006-09-22 22:05:13.000000000 +0200
+++ linux/drivers/usb/atm/ueagle-atm.c 2006-09-22 22:06:16.000000000 +0200
@@ -744,7 +744,7 @@
static inline int wait_cmv_ack(struct uea_softc *sc)
{
- int ret = wait_event_timeout(sc->cmv_ack_wait,
+ int ret = wait_event_interruptible_timeout(sc->cmv_ack_wait,
sc->cmv_ack, ACK_TIMEOUT);
sc->cmv_ack = 0;
@@ -1176,7 +1176,7 @@
if (!ret)
ret = uea_stat(sc);
if (ret != -EAGAIN)
- msleep(1000);
+ msleep_interruptible(1000);
if (try_to_freeze())
uea_err(INS_TO_USBDEV(sc), "suspend/resume not supported, "
"please unplug/replug your modem\n");
@@ -1605,7 +1605,7 @@
{
struct uea_softc *sc = usbatm->driver_data;
- wait_event(sc->sync_q, IS_OPERATIONAL(sc));
+ wait_event_interruptible(sc->sync_q, IS_OPERATIONAL(sc));
return 0;
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2006-10-03 19:49 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-10-03 19:49 [PATCH 1/3] UEAGLE : use interruptible sleep matthieu castet
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.