Author: netchild
Date: Fri Jan  8 09:59:13 2010
New Revision: 201777
URL: http://svn.freebsd.org/changeset/base/201777

Log:
  MFC r197816:
  ---snip---
      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
  ---snip---

Modified:
  stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/amd64/include/xen/   (props changed)
  stable/8/sys/cddl/contrib/opensolaris/   (props changed)
  stable/8/sys/contrib/dev/acpica/   (props changed)
  stable/8/sys/contrib/pf/   (props changed)
  stable/8/sys/dev/xen/xenpci/   (props changed)

Modified: stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
==============================================================================
--- stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c       Fri Jan 
 8 09:31:19 2010        (r201776)
+++ stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c       Fri Jan 
 8 09:59:13 2010        (r201777)
@@ -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
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to