From: Andrew Morton - Avoid the forward decl - Too big for inlining. Cc: Peter Zijlstra Acked-by: Con Kolivas Signed-off-by: Andrew Morton --- mm/swap.c | 50 ++++++++++++++++++++++++-------------------------- 1 files changed, 24 insertions(+), 26 deletions(-) diff -puN mm/swap.c~swap-prefetch-fix-lru_cache_add_tail-tidy mm/swap.c --- devel/mm/swap.c~swap-prefetch-fix-lru_cache_add_tail-tidy 2006-05-18 00:57:08.000000000 -0700 +++ devel-akpm/mm/swap.c 2006-05-18 00:57:08.000000000 -0700 @@ -160,7 +160,30 @@ void fastcall lru_cache_add_active(struc put_cpu_var(lru_add_active_pvecs); } -static inline void __pagevec_lru_add_tail(struct pagevec *pvec); +static void __pagevec_lru_add_tail(struct pagevec *pvec) +{ + int i; + struct zone *zone = NULL; + + for (i = 0; i < pagevec_count(pvec); i++) { + struct page *page = pvec->pages[i]; + struct zone *pagezone = page_zone(page); + + if (pagezone != zone) { + if (zone) + spin_unlock_irq(&zone->lru_lock); + zone = pagezone; + spin_lock_irq(&zone->lru_lock); + } + BUG_ON(PageLRU(page)); + SetPageLRU(page); + add_page_to_inactive_list_tail(zone, page); + } + if (zone) + spin_unlock_irq(&zone->lru_lock); + release_pages(pvec->pages, pvec->nr, pvec->cold); + pagevec_reinit(pvec); +} static void __lru_add_drain(int cpu) { @@ -390,31 +413,6 @@ void __pagevec_lru_add_active(struct pag pagevec_reinit(pvec); } -static inline void __pagevec_lru_add_tail(struct pagevec *pvec) -{ - int i; - struct zone *zone = NULL; - - for (i = 0; i < pagevec_count(pvec); i++) { - struct page *page = pvec->pages[i]; - struct zone *pagezone = page_zone(page); - - if (pagezone != zone) { - if (zone) - spin_unlock_irq(&zone->lru_lock); - zone = pagezone; - spin_lock_irq(&zone->lru_lock); - } - BUG_ON(PageLRU(page)); - SetPageLRU(page); - add_page_to_inactive_list_tail(zone, page); - } - if (zone) - spin_unlock_irq(&zone->lru_lock); - release_pages(pvec->pages, pvec->nr, pvec->cold); - pagevec_reinit(pvec); -} - /* * Function used uniquely to put pages back to the lru at the end of the * inactive list to preserve the lru order. Currently only used by swap _