pandora: update defconfig
[pandora-kernel.git] / mm / compaction.c
index 9583e19..94cce51 100644 (file)
@@ -433,6 +433,8 @@ static unsigned long compact_zone_order(struct zone *zone,
        return compact_zone(zone, &cc);
 }
 
+int sysctl_extfrag_threshold = 500;
+
 /**
  * try_to_compact_pages - Direct compact to satisfy a high-order allocation
  * @zonelist: The zonelist used for the current allocation
@@ -491,7 +493,7 @@ unsigned long try_to_compact_pages(struct zonelist *zonelist,
                 * Only compact if a failure would be due to fragmentation.
                 */
                fragindex = fragmentation_index(zone, order);
-               if (fragindex >= 0 && fragindex <= 500)
+               if (fragindex >= 0 && fragindex <= sysctl_extfrag_threshold)
                        continue;
 
                if (fragindex == -1 && zone_watermark_ok(zone, order, watermark, 0, 0)) {
@@ -572,6 +574,14 @@ int sysctl_compaction_handler(struct ctl_table *table, int write,
        return 0;
 }
 
+int sysctl_extfrag_handler(struct ctl_table *table, int write,
+                       void __user *buffer, size_t *length, loff_t *ppos)
+{
+       proc_dointvec_minmax(table, write, buffer, length, ppos);
+
+       return 0;
+}
+
 #if defined(CONFIG_SYSFS) && defined(CONFIG_NUMA)
 ssize_t sysfs_compact_node(struct sys_device *dev,
                        struct sysdev_attribute *attr,