Re: ds1620: replace schedule_timeout() with msleep()

From: Jesper Juhl
Date: Mon Nov 29 2004 - 17:35:02 EST


On Mon, 29 Nov 2004, Domen Puncer wrote:

> On 28/11/04 18:39 +0100, Jesper Juhl wrote:
> > > +++ linux-2.6.9-rc1-bk7-max/drivers/char/ds1620.c 2004-09-01 19:34:43.000000000 +0200
> > > @@ -373,8 +373,7 @@ static int __init ds1620_init(void)
> > > th_start.hi = 1;
> > > ds1620_write_state(&th_start);
> > >
> > > - set_current_state(TASK_INTERRUPTIBLE);
> > > - schedule_timeout(2*HZ);
> > > + msleep(2000);
> > >
> > > ds1620_write_state(&th);
> > >
> > I'm wondering if 2000 is really the value we want here. As far as I can
> > see, the schedule_timeout(2*HZ); line has been there as long back as
> > since HZ was 100, so back then the delay would have been 200. if 200 is
> > all it needs, then we are now sleeping 10 times as long as really needed.
> > What is the argument behind the value used?
>
> It's right:
> schedule_timeout(2*HZ) sleeps for 2 seconds;
> msleep(2000) sleeps for 2000 miliseconds, and does not depend on what
> HZ is.
>
It seems I didn't understand schedule_timeout() properly, thank you for
the clarification.

--
Jesper

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