softdep panic while low on memory during "make buildworld"

Nicolas Thery nthery at
Fri Jan 25 11:38:22 PST 2008


I  got a "softdep_deallocate_dependencies: dangling deps" panic during
"make buildworld" on a 64mb (virtual) machine.  I'm running  HEAD
modified to allocate proc  structs off an objcache instead of a zone.
The panic is not reproducible with a stock HEAD build, so presumably
the objcache has a bigger footprint but that's another story.

softdep_deallocate_dependencies() is called from brelse():1088:

   1085      if (bp->b_flags & (B_DELWRI | B_LOCKED)) {
   1086 		bp->b_flags &= ~B_RELBUF;
   1087 	} else if (vm_page_count_severe()) {
   1088 		buf_deallocate(bp);
   1089 		if (bp->b_flags & (B_DELWRI | B_LOCKED))
   1090 			bp->b_flags &= ~B_RELBUF;
   1091 		else
   1092 			bp->b_flags |= B_RELBUF;
   1093 	}

The call to buf_deallocate() was added in vfs_bio.c 1.96.

It looks like softdep_deallocate_dependencies() systematically panics.
 Maybe it should take less drastic action?


More information about the Bugs mailing list