[PATCH v2 mmotm 1/3] mm, page_alloc: add unlikely macro to help compiler optimization

From: Joonsoo Kim
Date: Tue Aug 06 2013 - 04:37:49 EST

We rarely allocate a page with ALLOC_NO_WATERMARKS and it is used
in slow path. For helping compiler optimization, add unlikely macro to

This patch doesn't have any effect now, because gcc already optimize
this properly. But we cannot assume that gcc always does right and nobody
re-evaluate if gcc do proper optimization with their change, for example,
it is not optimized properly on v3.10. So adding compiler hint here
is reasonable.

Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx>
Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>

diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index f5c549c..04bec49 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -1901,7 +1901,7 @@ zonelist_scan:
!cpuset_zone_allowed_softwall(zone, gfp_mask))
- if (alloc_flags & ALLOC_NO_WATERMARKS)
+ if (unlikely(alloc_flags & ALLOC_NO_WATERMARKS))
goto try_this_zone;
* Distribute pages in proportion to the individual

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/