summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichal Nazarewicz <mina86@mina86.com>2014-08-06 16:05:15 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2014-08-06 18:01:16 -0700
commit7be12fc9f8dcae7f4c9647d495bd64fc4ffb6836 (patch)
tree0a70ae16ee1b68e4187da2471793a78a8cf6320b
parent4f7c6b49c45a398d72763d1f0e64ddff8b3653c7 (diff)
downloadop-kernel-dev-7be12fc9f8dcae7f4c9647d495bd64fc4ffb6836.zip
op-kernel-dev-7be12fc9f8dcae7f4c9647d495bd64fc4ffb6836.tar.gz
mm: page_alloc: simplify drain_zone_pages by using min()
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> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--mm/page_alloc.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 8c4f1b2..c1c6cb7 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -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;
OpenPOWER on IntegriCloud