Re: linux-2.1.102/drivers/scsi/fdomain.c as module hangs system

Paul Gortmaker (linux@rasty.ph.unimelb.edu.au)
Wed, 20 May 1998 14:58:25 +1000 (EST)


>
> On Tue, 19 May 1998, Jeffrey Hundstad wrote:
> >
> > Like the subject says... version 2.1.102 of Linux hangs the machine
> > tight when you:

[...]

>
> Can you test this diff instead, which should fix the problem and still be
> safe on SMP too?

[...]

> - while (jiffies < the_time);
> + do {
> + usleep(10*1000);
> + } while (--amount);

That should be udelay, not usleep of course, but it gives me an excuse
to bring up another point. A comment near the udelay code hints that
you shouldn't use it for > 1000us. Yet this seems largely ignored in
various driver source files (with delays up to 1000000us being used)

My question is, do we:

(a) ignore it
(b) when >1000, replace each occurence with:
{unsigned int msec = XXXX; while (--msec) udelay(1000);}
(c) indroduce a "mdelay()" that does (b)
(d) order a pizza

Paul.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu