Re: [patch 04/12] block/xd: replace schedule_timeout() with msleep()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 21/06/05 12:39 +0100, Maciej W. Rozycki wrote:
> On Mon, 20 Jun 2005 [email protected] wrote:
> 
> > From: Nishanth Aravamudan <[email protected]>
> > 
> > 
> > 
> > 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.

mdelay - busy loop
msleep - schedule

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

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux