kernel panic after 5.2 RELEASE --> 5.2.1, DELL PE2650, SCSI

Scott Long scottl at freebsd.org
Fri Feb 20 11:28:38 PST 2004


On Fri, 20 Feb 2004, Lachlan O'Dea wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On 18 Feb 2004, at 13:23, Scott Long wrote:
>
> > Lachlan O'Dea wrote:
> >
> >> I managed to observe the system in top the second time this happened.
> >> One after another, each process freezes forever in getblk. Kind of
> >> scary to watch :-).
> >> With 5.2-RELEASE, I was seeing the blocked processes, but I don't
> >> recall seeing all of that console output before. I haven't actually
> >> seen experienced any problems with 5.2-RELEASE for a while, I just
> >> have to avoid long-running find(1) processes. (E.g. put
> >> daily_status_security_enable="NO" in periodic.conf).
> >
> > The same problem exists in 5.2.  I thought that I had fixed it, but
> > apparently not.
>
> I put your aacvar.h patch in yesterday (so I'm running the latest
> 5.2.1-RC2), and since then have experienced zero problems! The
> overnight security check ran flawlessly for the first time since...
> well, ever. Thanks so much.
>

Thanks for verifying it.  I think that I found the real problem, would you
be willing to do one more test?  Attached is the patch.  This involves
move AAC_MAX_FIB back to 512 and adding a line to aac.c.

Thanks!

Scott
-------------- next part --------------
Index: aac.c
===================================================================
RCS file: /usr1/ncvs/src/sys/dev/aac/aac.c,v
retrieving revision 1.81.2.1
diff -u -r1.81.2.1 aac.c
--- aac.c	11 Feb 2004 10:34:24 -0000	1.81.2.1
+++ aac.c	20 Feb 2004 19:28:45 -0000
@@ -1291,6 +1291,7 @@
 
 	/* put the FIB on the outbound queue */
 	if (aac_enqueue_fib(sc, cm->cm_queue, cm) == EBUSY) {
+		aac_remove_busy(cm);
 		aac_unmap_command(cm);
 		aac_requeue_ready(cm);
 	}
Index: aacvar.h
===================================================================
RCS file: /usr1/ncvs/src/sys/dev/aac/aacvar.h,v
retrieving revision 1.36.2.1
diff -u -r1.36.2.1 aacvar.h
--- aacvar.h	18 Feb 2004 06:20:50 -0000	1.36.2.1
+++ aacvar.h	20 Feb 2004 19:28:58 -0000
@@ -58,7 +58,7 @@
  */
 #define AAC_FIB_COUNT		(PAGE_SIZE/sizeof(struct aac_fib))
 #define AAC_PREALLOCATE_FIBS	128
-#define AAC_MAX_FIBS		504
+#define AAC_MAX_FIBS		512
 
 /*
  * The controller reports status events in AIFs.  We hang on to a number of


More information about the freebsd-current mailing list