]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
mm: page_alloc: simplify drain_zone_pages by using min()
authorMichal Nazarewicz <mina86@mina86.com>
Thu, 26 Jun 2014 00:42:30 +0000 (10:42 +1000)
committerStephen Rothwell <sfr@canb.auug.org.au>
Thu, 26 Jun 2014 00:42:30 +0000 (10:42 +1000)
Instead of open-coding getting minimal value of two, just use min macro.
That is why it is there for.  While changing the function also change type
of batch local variable to match type of per_cpu_pages::batch (which is
int).

Signed-off-by: Michal Nazarewicz <mina86@mina86.com>
Acked-by: David Rientjes <rientjes@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/page_alloc.c

index 263d34129886869fda167e1abef2054084b3a0e0..fef9614b57c40eed1e813c6fc5211362ae9049d4 100644 (file)
@@ -1257,15 +1257,11 @@ static int rmqueue_bulk(struct zone *zone, unsigned int order,
 void drain_zone_pages(struct zone *zone, struct per_cpu_pages *pcp)
 {
        unsigned long flags;
-       int to_drain;
-       unsigned long batch;
+       int to_drain, batch;
 
        local_irq_save(flags);
        batch = ACCESS_ONCE(pcp->batch);
-       if (pcp->count >= batch)
-               to_drain = batch;
-       else
-               to_drain = pcp->count;
+       to_drain = min(pcp->count, batch);
        if (to_drain > 0) {
                free_pcppages_bulk(zone, to_drain, pcp);
                pcp->count -= to_drain;