[PATCH 13/22] Inline __rmqueue_fallback()

Mel Gorman
2009-04-22T13:58:20Z

__rmqueue_fallback() is in the slow path but has only one call site. Because
there is only 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>
---
mm/page_alloc.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index cb57382..e0e9e67 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -775,8 +775,8 @@ static int move_freepages_block(struct zone *zone, struct page *page,
}

/* Remove an element from the buddy allocator from the fallback list */
-static struct page *__rmqueue_fallback(struct zone *zone, int order,
- int start_migratetype)
+static inline struct page *
+__rmqueue_fallback(struct zone *zone, int order, int start_migratetype)
{
struct free_area * area;
int current_order;
--
1.5.6.5