Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Aug 1997 12:12:19 -0600
From:      "Justin T. Gibbs" <gibbs@plutotech.com>
To:        Steve Passe <smp@csn.net>
Cc:        "Justin T. Gibbs" <gibbs@FreeBSD.ORG>, cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG, cvs-sys@FreeBSD.ORG
Subject:   Re: cvs commit: src/sys/dev/aic7xxx aic7xxx.reg aic7xxx.seq src/sys/i386/scsi aic7xxx.c aic7xxx.h 
Message-ID:  <199708131812.MAA22588@pluto.plutotech.com>
In-Reply-To: Your message of "Wed, 13 Aug 1997 11:59:37 MDT." <199708131759.LAA24046@Ilsa.StevesCafe.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
>For the record, disabled INTs was the reason that this was showing up in the
>SMP kernel.  Because of a race in an unprotected critical region level-active
>INTs (ie PCI) could sometimes be left masked when the relevant bit in ipending
>was cleared, resulting in complete blockage of further INTs.  Although this
>was clearly an SMP problem, having robustness in other parts of the system
>is appreciated!

The problem was reproduceable on UP systems too.

>This leads to the question:  when INTs get totally blocked
>like this, wont the system still freeze, ie should there be a timeout to
>panic in your spin lock for times like this?

The spin lock is down in the aic7xxx's sequencer program, not in the
kernel.  The sequencer (the embedded RISC processor in the aic78X0) will
simply hold off on completing a command if there is no space to post it,
until the interrupt routine runs and makes space available. Nothing in the
aic7xxx kernel driver ever blocks in this fashion.

>--
>Steve Passe	| powered by
>smp@csn.net	|            Symmetric MultiProcessor FreeBSD
>
>
>

--
Justin T. Gibbs
===========================================
  FreeBSD: Turning PCs into workstations
===========================================





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