Re: Promise, DMA and RAID5 problems running 2.4.1

Petr Vandrovec (VANDROVE@vc.cvut.cz)
Wed, 7 Feb 2001 20:40:21 MET-1


On 7 Feb 01 at 19:33, Alan Cox wrote:
> > It is known bug which I reported to Andre already. Open
> > drivers/ide/ide.c in favorite text editor, and replace strange
> > body of ide_delay_50ms() with simple mdelay(50). Promise driver
> > invokes ide_delay_50ms with interrupts disabled, so it freezes
> > here forever. If you have NMI watchdog, you'll get nice oopses.
>
> Its a bug in the promise driver. ide_delay_50ms() is being friendly to the
> rest of the box. If the reset path for the promise cant be polite then it
> should use mdelay() itself.

Iff CONFIG_BLK_DEV_IDECS is set then yes, doing schedule is better.
But I do not see any benefit in doing

unsigned long timeout = jiffies + ((HZ + 19)/20) + 1;
while (0 < (signed long)(timeout - jiffies));

over

mdelay(50);

And on my box, busy while loop is executed, not schedule(HZ/20)...

Thanks,
Petr Vandrovec
vandrove@vc.cvut.cz

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