Fatal trap 12: page fault panic with recent kernel with ZFS

Ben Kelly ben at wanderview.com
Tue May 19 03:07:20 UTC 2009

On May 18, 2009, at 10:45 PM, Kip Macy wrote:
> On Mon, May 18, 2009 at 7:34 PM, Ben Kelly <ben at wanderview.com> wrote:
>> On May 18, 2009, at 9:26 PM, Kip Macy wrote:
>> On the low memory front it seems like the arc needs a way to tell  
>> the pager
>> to mark some vnodes inactive.  I've seen many cases where the arc  
>> size
>> greatly exceeded the target, but it couldn't evict any memory  
>> because all
>> its buffers were still referenced.  This seems to behave a little  
>> better
>> with code that increments vm_pageout_deficit and signals the  
>> pageout daemon
>> when the arc is too far above its target.  The normal buffer cache  
>> seems to
>> do this as well when its low on memory.
> Good point. Patches welcome. Otherwise I'll look in to it when I get  
> the chance.

I do some of that in this patch:


But I trigger it based on kmem thresholds.  See arc_reclaim_pages().

I can try to put together a smaller patch tomorrow evening that  
signals the pager based on size vs. c target.  The main reason I  
didn't implement it in my previous patch was because I was concerned  
with the arc being prevented from growing at all once its been  
shrunk.  It only grows when size exceeds its current target by a  
certain amount.  This may require some careful balancing or hysteresis  
or something.


- Ben

More information about the freebsd-current mailing list