Re: SATA probe delay on boot

From: Brien
Date: Wed Sep 03 2003 - 19:57:27 EST


Bartlomiej,

"ide3=noprobe" doesn't make a noticable difference, but
I'll tell what happens with the patch when I get home
and am able to try it

(just so you know it may be several hours before I'm
able to reply again)

Thanks much,

Brien

On Thu, 4 Sep 2003 01:53:07 +0200, Bartlomiej
Zolnierkiewicz wrote:

> On Thursday 04 of September 2003 01:18,
admin@xxxxxxxxx
> wrote:
> > Hi,
>
> Hi,
>
> > I have a Sil3112A SATA controller, which linux works
> OK
> > with. It supports RAID (up to 4 devices), but I'm
> using
> > BASE option -- only 1 hard drive.
> >
> > My question is regarding a 15-20 second delay which
> > normally occurs every time I boot, unless I pass the
>
> Please try attached patch and send dmesg output (with
> patch applied).
> Patch is against current 2.6-bk tree, but should apply
> to any recent
> 2.4.x or 2.6.x kernels.
>
> diff -puN drivers/ide/ide-probe.c~ide-siimage-wait
> drivers/ide/ide-probe.c
> ---
>
linux-2.6.0-test4-bk5/drivers/ide/ide-probe.c~ide-siimage-wait 2003-09-04 01:34:02.285489272 +0200
> +++
>
linux-2.6.0-test4-bk5-root/drivers/ide/ide-probe.c 2003-09-04 01:47:58.145419248 +0200
> @@ -56,6 +56,8 @@
> #include <asm/uaccess.h>
> #include <asm/io.h>
>
> +#define DEBUG
> +
> /**
> * generic_id - add a generic drive id
> * @drive: drive to make an ID block for
> @@ -345,7 +347,16 @@ static int actual_try_to_identify
> (ide_d
> }
> /* give drive a breather */
> ide_delay_50ms();
> - } while ((hwif->INB(hd_status)) & BUSY_STAT);
> + s = hwif->INB(hd_status);
> + if (s == 0xff) {
> +#ifdef DEBUG
> + printk("%s: status == 0xff\n", drive->name);
> +#endif
> + return 1;
> + }
> + if ((s & BUSY_STAT) == 0)
> + break;
> + } while (1);
>
> /* wait for IRQ and DRQ_STAT */
> ide_delay_50ms();
>
> _
>
> > options ide3=0 - ide9=0 to fill up the device
table. I
> > think I have to do this because if I do only ide3=0
> > (where the device would be), it uses ide4, and so
on.
> I
> > have GRUB set up to do this automatically, but it's
> not
> > exactly adequate (,is it?). So I was wondering if
> > there're any other ways to get the same affect. Is
or
> > could there be an option to simply disable the
probing
> > of the one specific device/channel every time?
>
> "ide3=noprobe" doesnt work?
>
> --bartlomiej

Brien
-
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/