* [Kernel-janitors] [PATCH] net/lanstreamer: replace
@ 2004-07-27 20:45 Nishanth Aravamudan
2004-07-28 16:03 ` [Kernel-janitors] [PATCH] net/lanstreamer: Mark Hollomon
0 siblings, 1 reply; 2+ messages in thread
From: Nishanth Aravamudan @ 2004-07-27 20:45 UTC (permalink / raw)
To: kernel-janitors
[-- Attachment #1: Type: text/plain, Size: 1536 bytes --]
I would appreciate any comments from the janitors list. This is one (of
many) cases where I made a decision about replacing
set_current_state(TASK_INTERRUPTIBLE);
schedule_timeout(some_time);
with
msleep(jiffies_to_msecs(some_time));
msleep() is not exactly the same as the previous code, but I only did
this replacement where I thought long delays were *desired*. If this is
not the case here, then just disregard this patch.
Thanks,
Nish
Applys-to: 2.6.7
Description: Replace schedule_timeout() with msleep() to guarantee the
task delays for the desired time.
Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
--- linux-vanilla/drivers/net/tokenring/lanstreamer.c 2004-06-16 05:20:04.000000000 +0000
+++ linux-dev/drivers/net/tokenring/lanstreamer.c 2004-07-12 21:44:46.000000000 +0000
@@ -450,8 +450,7 @@ static int streamer_reset(struct net_dev
writew(readw(streamer_mmio + BCTL) | BCTL_SOFTRESET, streamer_mmio + BCTL);
t = jiffies;
/* Hold soft reset bit for a while */
- current->state = TASK_UNINTERRUPTIBLE;
- schedule_timeout(HZ);
+ msleep(1000);
writew(readw(streamer_mmio + BCTL) & ~BCTL_SOFTRESET,
streamer_mmio + BCTL);
@@ -507,8 +506,7 @@ static int streamer_reset(struct net_dev
writew(SISR_MI, streamer_mmio + SISR_MASK_SUM);
while (!((readw(streamer_mmio + SISR)) & SISR_SRB_REPLY)) {
- current->state = TASK_INTERRUPTIBLE;
- schedule_timeout(HZ/10);
+ msleep(100);
if (jiffies - t > 40 * HZ) {
printk(KERN_ERR
"IBM PCI tokenring card not responding\n");
[-- Attachment #2: Type: text/plain, Size: 167 bytes --]
_______________________________________________
Kernel-janitors mailing list
Kernel-janitors@lists.osdl.org
http://lists.osdl.org/mailman/listinfo/kernel-janitors
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [Kernel-janitors] [PATCH] net/lanstreamer:
2004-07-27 20:45 [Kernel-janitors] [PATCH] net/lanstreamer: replace Nishanth Aravamudan
@ 2004-07-28 16:03 ` Mark Hollomon
0 siblings, 0 replies; 2+ messages in thread
From: Mark Hollomon @ 2004-07-28 16:03 UTC (permalink / raw)
To: kernel-janitors
[-- Attachment #1: Type: text/plain, Size: 1915 bytes --]
Nishanth Aravamudan wrote:
> I would appreciate any comments from the janitors list. This is one (of
> many) cases where I made a decision about replacing
>
> set_current_state(TASK_INTERRUPTIBLE);
> schedule_timeout(some_time);
>
> with
>
> msleep(jiffies_to_msecs(some_time));
>
> msleep() is not exactly the same as the previous code, but I only did
> this replacement where I thought long delays were *desired*. If this is
> not the case here, then just disregard this patch.
>
> Thanks,
> Nish
>
>
>
> Applys-to: 2.6.7
>
> Description: Replace schedule_timeout() with msleep() to guarantee the
> task delays for the desired time.
>
> Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
>
>
> --- linux-vanilla/drivers/net/tokenring/lanstreamer.c 2004-06-16 05:20:04.000000000 +0000
> +++ linux-dev/drivers/net/tokenring/lanstreamer.c 2004-07-12 21:44:46.000000000 +0000
> @@ -450,8 +450,7 @@ static int streamer_reset(struct net_dev
> writew(readw(streamer_mmio + BCTL) | BCTL_SOFTRESET, streamer_mmio + BCTL);
> t = jiffies;
> /* Hold soft reset bit for a while */
> - current->state = TASK_UNINTERRUPTIBLE;
> - schedule_timeout(HZ);
> + msleep(1000);
>
> writew(readw(streamer_mmio + BCTL) & ~BCTL_SOFTRESET,
> streamer_mmio + BCTL);
> @@ -507,8 +506,7 @@ static int streamer_reset(struct net_dev
> writew(SISR_MI, streamer_mmio + SISR_MASK_SUM);
>
> while (!((readw(streamer_mmio + SISR)) & SISR_SRB_REPLY)) {
> - current->state = TASK_INTERRUPTIBLE;
> - schedule_timeout(HZ/10);
> + msleep(100);
> if (jiffies - t > 40 * HZ) {
> printk(KERN_ERR
> "IBM PCI tokenring card not responding\n");
This second one looks iffy to me. But someone with a lot more knowledge
needs to comment. The loop is looking for a hardware state change. The
"real" timeout is the 40 seconds implied by the if statement.
--
--------------------------
Mark Hollomon
[-- Attachment #2: Type: text/plain, Size: 167 bytes --]
_______________________________________________
Kernel-janitors mailing list
Kernel-janitors@lists.osdl.org
http://lists.osdl.org/mailman/listinfo/kernel-janitors
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2004-07-28 16:03 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-07-27 20:45 [Kernel-janitors] [PATCH] net/lanstreamer: replace Nishanth Aravamudan
2004-07-28 16:03 ` [Kernel-janitors] [PATCH] net/lanstreamer: Mark Hollomon
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.