Shrinks my vmlinux by an astonishing 28k.

   text    data     bss     dec     hex filename
3038796  589890  150612 3779298  39aae2 vmlinux.before
3009761  590107  150612 3750480  393a50 vmlinux.after


---

 25-akpm/include/linux/mm.h |   17 +----------------
 25-akpm/mm/swap.c          |   21 +++++++++++++++++++++
 2 files changed, 22 insertions(+), 16 deletions(-)

diff -puN include/linux/mm.h~uninline-put_page include/linux/mm.h
--- 25/include/linux/mm.h~uninline-put_page	2004-04-11 15:50:59.450637392 -0700
+++ 25-akpm/include/linux/mm.h	2004-04-11 15:50:59.455636632 -0700
@@ -269,22 +269,7 @@ static inline void get_page(struct page 
 	atomic_inc(&page->count);
 }
 
-static inline void put_page(struct page *page)
-{
-	if (unlikely(PageCompound(page))) {
-		page = (struct page *)page->private;
-		if (put_page_testzero(page)) {
-			if (page[1].mapping) {	/* destructor? */
-				(*(void (*)(struct page *))page[1].mapping)(page);
-			} else {
-				__page_cache_release(page);
-			}
-		}
-		return;
-	}
-	if (!PageReserved(page) && put_page_testzero(page))
-		__page_cache_release(page);
-}
+void put_page(struct page *page);
 
 #else		/* CONFIG_HUGETLB_PAGE */
 
diff -puN mm/swap.c~uninline-put_page mm/swap.c
--- 25/mm/swap.c~uninline-put_page	2004-04-11 15:50:59.451637240 -0700
+++ 25-akpm/mm/swap.c	2004-04-11 15:50:59.456636480 -0700
@@ -34,6 +34,27 @@
 /* How many pages do we try to swap or page in/out together? */
 int page_cluster;
 
+#ifdef CONFIG_HUGETLB_PAGE
+
+void put_page(struct page *page)
+{
+	if (unlikely(PageCompound(page))) {
+		page = (struct page *)page->private;
+		if (put_page_testzero(page)) {
+			if (page[1].mapping) {	/* destructor? */
+				(*(void (*)(struct page *))page[1].mapping)(page);
+			} else {
+				__page_cache_release(page);
+			}
+		}
+		return;
+	}
+	if (!PageReserved(page) && put_page_testzero(page))
+		__page_cache_release(page);
+}
+EXPORT_SYMBOL(put_page);
+#endif
+
 /*
  * Writeback is about to end against a page which has been marked for immediate
  * reclaim.  If it still appears to be reclaimable, move it to the tail of the

_