lkml.org 
[lkml]   [2005]   [Jun]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [patch 04/12] block/xd: replace schedule_timeout() with msleep()
On Mon, 20 Jun 2005 domen@coderock.org wrote:

> From: Nishanth Aravamudan <nacc@us.ibm.com>
>
>
>
> Use msleep() instead of schedule_timeout() to guarantee the task
> delays as expected. The current code wishes to sleep for 1 jiffy, but I am not
> sure if this is actually intended, as with the change to HZ=1000, the time
> equivalent of 1 jiffy changed from 10ms to 1ms. I have assumed the former in
> this case; however the patch can be easily changed to assume the latter.
[...]
> @@ -529,10 +530,8 @@ static inline u_char xd_waitport (u_shor
> int success;
>
> xdc_busy = 1;
> - while ((success = ((inb(port) & mask) != flags)) && time_before(jiffies, expiry)) {
> - set_current_state(TASK_UNINTERRUPTIBLE);
> - schedule_timeout(1);
> - }
> + while ((success = ((inb(port) & mask) != flags)) && time_before(jiffies, expiry))
> + msleep(10);
> xdc_busy = 0;
> return (success);
> }

I think it's obvious what this code intends and this makes the function
to busy-loop instead of giving up the CPU friendly. The change makes no
sense -- the code is correct as is.

Maciej
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-06-21 13:50    [W:0.043 / U:0.024 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site