mm: memcontrol: fix memory.low proportional distribution
[linux-2.6-microblaze.git] / mm / page_counter.c
index de31470..75d53f1 100644 (file)
@@ -23,11 +23,7 @@ static void propagate_protected_usage(struct page_counter *c,
                return;
 
        if (c->min || atomic_long_read(&c->min_usage)) {
-               if (usage <= c->min)
-                       protected = usage;
-               else
-                       protected = 0;
-
+               protected = min(usage, c->min);
                old_protected = atomic_long_xchg(&c->min_usage, protected);
                delta = protected - old_protected;
                if (delta)
@@ -35,11 +31,7 @@ static void propagate_protected_usage(struct page_counter *c,
        }
 
        if (c->low || atomic_long_read(&c->low_usage)) {
-               if (usage <= c->low)
-                       protected = usage;
-               else
-                       protected = 0;
-
+               protected = min(usage, c->low);
                old_protected = atomic_long_xchg(&c->low_usage, protected);
                delta = protected - old_protected;
                if (delta)