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>

next in thread | raw e-mail | index | archive | help
>> 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



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