Hello,

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?

Cheers,
Nicolas

Reply via email to