Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 2 Apr 1996 17:23:05 +1000
From:      Bruce Evans <bde@zeta.org.au>
To:        Brett_Glass@ccgate.infoworld.com, bde@zeta.org.au, freebsd-hackers@freebsd.org, freebsd-hardware@freebsd.org
Subject:   Re: Hacked kernel with option to disable "green" mode
Message-ID:  <199604020723.RAA01028@godzilla.zeta.org.au>

index | next in thread | raw e-mail

>> wdunwedge() might fail because TIMEOUT is too short.  It should be at
>> least 31000000 (31 seconds).

>Based on Michael's account of what's in the ATA spec (i.e. that the drive
>can take 30 seconds to come ready), this is correct. But it shouldn't wait

It should wait 1 second longer for the slave drive.

>the whole 31 seconds always, as the current code would do. It should check
>again and again and GIVE UP after 31 seconds (or slightly more).

Note that long waits (> 10 usec) usually only occur in initialization and
panic dump code when it can't even use timeouts.  Most waits occur at
interrupt time when it can't use tsleep.

>Of course, pausing 30 seconds in the kernel could be catastrophic for some
>applications,

Perhaps more importantly, pausing 30 seconds outside the kernel may be
catastrophic :-).  There is probably little difference where the wait
occurs except on multi-disk-controller systems where the IDE controller
is little used.

>so implementing some of those proprietary commands is still
>useful. The modification I sent in covers Seagate's.

It can't be used in the standard driver because its operation is unknown.
It might format the drives...

Bruce


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199604020723.RAA01028>