[PATCH 12/22] Inline buffered_rmqueue()

Mel Gorman
2009-04-22T13:57:57Z

buffered_rmqueue() is in the fast path so inline it. Because it only has one
call site, this function can then be inlined without causing text bloat. On
an x86-based config, it made no difference as the savings were padded out
by NOP instructions. Milage varies but text will either decrease in size
or remain static.

Signed-off-by: Mel Gorman <mel@csn.ul.ie>
Reviewed-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
---
mm/page_alloc.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 8bfced9..cb57382 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -1076,7 +1076,8 @@ void split_page(struct page *page, unsigned int order)
* we cheat by calling it from here, in the order > 0 path. Saves a branch
* or two.
*/
-static struct page *buffered_rmqueue(struct zone *preferred_zone,
+static inline
+struct page *buffered_rmqueue(struct zone *preferred_zone,
struct zone *zone, int order, gfp_t gfp_flags,
int migratetype)
{
--
1.5.6.5