From 467769abc79de002e75cdfb0d8f43695dfb4ffab Mon Sep 17 00:00:00 2001 From: Andrew Morton Date: Mon, 12 Apr 2004 19:23:02 -0700 Subject: [PATCH] uninline put_page() 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 Thanks to Denis Vlasenko for performing the analysis. --- include/linux/mm.h | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) (limited to 'include/linux') diff --git a/include/linux/mm.h b/include/linux/mm.h index d453a0ab62a7..14dba1b26016 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -255,22 +255,7 @@ static inline void get_page(struct page *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 */ -- cgit v1.2.3