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:
http://www.wanderview.com/svn/public/misc/zfs/zfs_kmem_limit.diff
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.
Thanks.
- Ben
More information about the freebsd-current
mailing list