svn commit: r197816 -
head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs
Kip Macy
kmacy at FreeBSD.org
Tue Oct 6 21:40:50 UTC 2009
Author: kmacy
Date: Tue Oct 6 21:40:50 2009
New Revision: 197816
URL: http://svn.freebsd.org/changeset/base/197816
Log:
Prevent paging pressure from draining arc too much
- always drain arc if above arc_c_max - never drain arc if arc is below arc_c_max
MFC after: 3 days
Modified:
head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Tue Oct 6 21:23:49 2009 (r197815)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Tue Oct 6 21:40:50 2009 (r197816)
@@ -1821,6 +1821,12 @@ arc_reclaim_needed(void)
#endif
#ifdef _KERNEL
+ if (needfree)
+ return (1);
+ if (arc_size > arc_c_max)
+ return (1);
+ if (arc_size <= arc_c_min)
+ return (0);
/*
* If pages are needed or we're within 2048 pages
@@ -1829,9 +1835,6 @@ arc_reclaim_needed(void)
if (vm_pages_needed || (vm_paging_target() > -2048))
return (1);
- if (needfree)
- return (1);
-
#if 0
/*
* take 'desfree' extra pages, so we reclaim sooner, rather than later
More information about the svn-src-head
mailing list