tech-kern archive

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

Re: 9.1: boot-time delay? [WORKAROUND FOUND]



On Tue, May 25, 2021 at 04:04:56PM -0400, Mouse wrote:
> > I suppose it's not possible to configure ahcisata in the BIOS on the
> > long-delay machines?
> 
> Thank you very much!  Yes.  That is possible - and it fixes the delay.
> I would not have thought to look for that; I would not have expected
> piixide and ahcisata to be similar enough that a BIOS setting could
> personality-swap between them.
> 
> > I'm guessing this is some quirk of the pciide(4) and piixide(4)
> > drivers.
> 
> Sounds like; they presumably have a bug somewhere in some delay
> calculation.  But at least I have something approaching a workaround.

The reset and probe procedure is different bewteen ide and ahci. 
The problem is probably in this area.

Actually the root cause may be a delay too short, not too long.
AFAIK the code uses mstohz() everywhere to compute tick values, exept
maybe a few cases where we want a really short delay and we use 1.
This is where a very high HZ may cause a too short delay.
Another issue could be mstohz() called with a delay too short;
mstohz() will round it up to 1 tick.

But I think you will need to instrument the ide probe in dev/ic/wdc.c.
It's been a while since I last looked at this, but I think the code
you want to look at is wdc_drvprobe().

-- 
Manuel Bouyer <bouyer%antioche.eu.org@localhost>
     NetBSD: 26 ans d'experience feront toujours la difference
--


Home | Main Index | Thread Index | Old Index