Subject: Re: Kern/25659 is not isolated to pcmcia attached drives.
To: Brian Buhrow <buhrow@lothlorien.nfbcal.org>
From: Steven M. Bellovin <smb@cs.columbia.edu>
List: tech-kern
Date: 04/22/2005 12:14:44
In message <200504212229.j3LMTIh9020321@lothlorien.nfbcal.org>, Brian Buhrow wr
ites:
>	Hello.  Has anyone else noticed that the wdc.c timeouts seem to be
>short enough that attaching drives to NetBSD-2.x systems can be somewhat
>challenging?  Kern/25659 correctly identifies the problem as being in the
>sys/dev/ic/wdc.c file, but it doesn't look like any changes have been made
>to that file in the source trees which reflect the knowledge of this
>problem.  If anything, changes over the past year or so have caused most
>timeouts in this file to shorten considerably.  I've appended what I hope
>is a less hackish patch to this bug in the gnats database, and hope that
>someone with more knowledge than I could address the general problem.  The
>patch I appended makes things work quite well, but I'd be happy to engage
>in a discussion on this topic if it might result in a permanent fix which
>will live on in the sources.
>
>	Does anyone have any thoughts on this problem?  Am I the only one
>seeing it?

Per the original PR, I've only seen the problem with a PCMCIA drive.  I 
never committed the patch because there were objections -- it could 
effectively stall the system for ~30 seconds under certain 
circumstances.

My preference, though, is that my code should be incorporated, but with 
the wdc_delay_cnt variable initialized by default to 0 -- that will 
give the same timeout behavior as the current driver.  The right way to 
do it would involve timer interrupts to look for the results of various 
activities; I suspect that that would actually require a new kernel 
process to get it right, and I don't know that it's really worth it.

All that said, I no longer have access to the hardware that caused the 
trouble for me, so I can't test any fixes.

		--Prof. Steven M. Bellovin, http://www.cs.columbia.edu/~smb