Index: 2.6.13-joel2/mm/page_alloc.c
===================================================================
--- 2.6.13-joel2.orig/mm/page_alloc.c 2005-09-21 11:31:51.%N -0500
+++ 2.6.13-joel2/mm/page_alloc.c 2005-09-21 11:37:48.%N -0500
@@ -339,6 +339,9 @@ static inline int page_is_buddy(struct p
* triggers coalescing into a block of larger size.
*
* -- wli
+ *
+ * For hotplug memory purposes make the free memory revert to the user
+ * reclaimable type, which is probably more accurate for that state anyway.
*/
static inline void __free_pages_bulk (struct page *page,
@@ -379,7 +382,10 @@ static inline void __free_pages_bulk (st
page_idx = combined_idx;
order++;
}
- if (unlikely(order == MAX_ORDER-1)) zone->fallback_balance++;
+ if (unlikely(order == MAX_ORDER-1)) {
+ set_pageblock_type(zone, page, RCLM_USER);
+ zone->fallback_balance++;
+ }
set_page_order(page, order);
area = freelist + order;