2002-07-15 09:26:22

by Simon Haynes

[permalink] [raw]
Subject: scsi detect and kgdb

I have been writing a scsi module and as part of the module
initialisation I would like to delay while waiting for a specific
condition. I have tried to put the detect routine in a loop which
spins on jiffies + a timeout and my hardware condition. I had all
sorts of problems with this code and I found that module load
locked up. I tried using barrier and schedule in this loop and found
that schedule worked for me most of the time.

I thought I would have a look at the code with kgdb. Firstly I noticed
that schedule is not defined in the kgdb enabled kernel. Also even
if I put this detect routine in a spin for a while my interrupts do not
get serviced until after this spin and quite possibly not until the
detect routine returns.

I would like to know the correct way to facilitate a delay in a scsi
module detect routine, while waiting for a hardware condition which
gets satisfied by a number of interrupts. If this condition is not met
in a timeout period the code also continue.

I would also like to understand the kgdb kernel behaviour.

I am running a 2.4.16 kernel.


Cheers

Simon.
__________________________

Simon Haynes - Baydel
Phone : 44 (0) 1372 378811
Email : [email protected]
__________________________