page allocator: inline __rmqueue_fallback()
authorMel Gorman <>
Tue, 16 Jun 2009 22:32:06 +0000 (15:32 -0700)
committerLinus Torvalds <>
Wed, 17 Jun 2009 02:47:34 +0000 (19:47 -0700)
__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 <>
Cc: Christoph Lameter <>
Cc: KOSAKI Motohiro <>
Cc: Pekka Enberg <>
Cc: Peter Zijlstra <>
Cc: Nick Piggin <>
Cc: Dave Hansen <>
Cc: Lee Schermerhorn <>
Signed-off-by: Andrew Morton <>
Signed-off-by: Linus Torvalds <>

index c101921e6a64bf0aca5707bee53a1265bf6efa0f..91e29b3ed2b601893d6d50b65613478483f7adf3 100644 (file)
@@ -771,8 +771,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;