mm: fix off-by-two in __zone_watermark_ok()
[platform/adaptation/renesas_rcar/renesas_kernel.git] / mm / compaction.c
index 899d956..e6670c3 100644 (file)
@@ -365,8 +365,10 @@ static isolate_migrate_t isolate_migratepages(struct zone *zone,
                nr_isolated++;
 
                /* Avoid isolating too much */
-               if (cc->nr_migratepages == COMPACT_CLUSTER_MAX)
+               if (cc->nr_migratepages == COMPACT_CLUSTER_MAX) {
+                       ++low_pfn;
                        break;
+               }
        }
 
        acct_isolated(zone, cc);
@@ -721,23 +723,23 @@ int sysctl_extfrag_handler(struct ctl_table *table, int write,
 }
 
 #if defined(CONFIG_SYSFS) && defined(CONFIG_NUMA)
-ssize_t sysfs_compact_node(struct sys_device *dev,
-                       struct sysdev_attribute *attr,
+ssize_t sysfs_compact_node(struct device *dev,
+                       struct device_attribute *attr,
                        const char *buf, size_t count)
 {
        compact_node(dev->id);
 
        return count;
 }
-static SYSDEV_ATTR(compact, S_IWUSR, NULL, sysfs_compact_node);
+static DEVICE_ATTR(compact, S_IWUSR, NULL, sysfs_compact_node);
 
 int compaction_register_node(struct node *node)
 {
-       return sysdev_create_file(&node->sysdev, &attr_compact);
+       return device_create_file(&node->dev, &dev_attr_compact);
 }
 
 void compaction_unregister_node(struct node *node)
 {
-       return sysdev_remove_file(&node->sysdev, &attr_compact);
+       return device_remove_file(&node->dev, &dev_attr_compact);
 }
 #endif /* CONFIG_SYSFS && CONFIG_NUMA */