kernel deadlock

Robert Watson rwatson at freebsd.org
Tue Jul 29 14:43:00 PDT 2003


On Tue, 29 Jul 2003, Dave Dolson wrote:

> To follow up, I've discovered that the system has exhausted its "FFS
> node" malloc type. 
> 
> >From vmstat on the core file, the "FFS node" MALLOC type is full:
>  
>  
> Memory statistics by type                          Type  Kern
>         Type  InUse MemUse HighUse  Limit Requests Limit Limit Size(s)
> ...
>      FFS node409600102400K 102400K102400K  1138048    3     0  256
> ...
> 
> The stress test is recursively creating a directory then cd'ing to it,
> trying to create 1,000,000 deep. 
> 
> You might say "don't do that", but this doesn't require any special
> priviledge, so is a potential DoS attack by any user. 
> 
> I'm wondering why the MALLOC is done with M_WAITOK; it seems like
> something which could reasonably fail. 
> 
> Or, why aren't the cached inodes being purged? 

Some problems with this have turned up in -CURRENT on large-memory
machines where some of the scaling factors have been off.  In -CURRENT, I
believe changes were introduced to bound the number of active vnodes more
rigorously at large memory sizes, and they probably need to be merged to
-STABLE.  You may want to try lowering the value of kern.maxvnodes during
the boot process -- however, the number of vnodes can exceed this max
under a number of common circumstances, so that may not be sufficient
(worth a try). 

Robert N M Watson             FreeBSD Core Team, TrustedBSD Projects
robert at fledge.watson.org      Network Associates Laboratories



More information about the freebsd-stable mailing list