]> git.hungrycats.org Git - linux/commitdiff
[PATCH] remove pagevec_lru_del()
authorAndrew Morton <akpm@zip.com.au>
Fri, 30 Aug 2002 08:49:08 +0000 (01:49 -0700)
committerLinus Torvalds <torvalds@home.transmeta.com>
Fri, 30 Aug 2002 08:49:08 +0000 (01:49 -0700)
it was only being used in invalidate_inode_pages(), and from there,
pagevec_release() does the same thing.

include/linux/pagevec.h
mm/filemap.c
mm/swap.c

index 36017cf91bbf2fe6da6662ec6f1d53b2f7168d0c..d7fa36270a907f5ee966b0b9741264339aa3f871 100644 (file)
@@ -18,7 +18,6 @@ void __pagevec_release(struct pagevec *pvec);
 void __pagevec_release_nonlru(struct pagevec *pvec);
 void __pagevec_free(struct pagevec *pvec);
 void __pagevec_lru_add(struct pagevec *pvec);
-void __pagevec_lru_del(struct pagevec *pvec);
 void lru_add_drain(void);
 void pagevec_deactivate_inactive(struct pagevec *pvec);
 
@@ -69,9 +68,3 @@ static inline void pagevec_lru_add(struct pagevec *pvec)
        if (pagevec_count(pvec))
                __pagevec_lru_add(pvec);
 }
-
-static inline void pagevec_lru_del(struct pagevec *pvec)
-{
-       if (pagevec_count(pvec))
-               __pagevec_lru_del(pvec);
-}
index bf748dabf67d77327bab12c6ecaf33a26f176224..35f953e11a4eb509bc88530f047782c745887eaa 100644 (file)
@@ -116,10 +116,10 @@ void invalidate_inode_pages(struct inode * inode)
        struct list_head *head, *curr;
        struct page * page;
        struct address_space *mapping = inode->i_mapping;
-       struct pagevec lru_pvec;
+       struct pagevec pvec;
 
        head = &mapping->clean_pages;
-       pagevec_init(&lru_pvec);
+       pagevec_init(&pvec);
        write_lock(&mapping->page_lock);
        curr = head->next;
 
@@ -143,8 +143,8 @@ void invalidate_inode_pages(struct inode * inode)
 
                __remove_from_page_cache(page);
                unlock_page(page);
-               if (!pagevec_add(&lru_pvec, page))
-                       __pagevec_lru_del(&lru_pvec);
+               if (!pagevec_add(&pvec, page))
+                       __pagevec_release(&pvec);
                continue;
 unlock:
                unlock_page(page);
@@ -152,7 +152,7 @@ unlock:
        }
 
        write_unlock(&mapping->page_lock);
-       pagevec_lru_del(&lru_pvec);
+       pagevec_release(&pvec);
 }
 
 static int do_invalidatepage(struct page *page, unsigned long offset)
index 99902f7176389d2e96b51d682362e4da0fbb2187..848ca6aa919f6be4e36f9cbbf66a30828555b8f4 100644 (file)
--- a/mm/swap.c
+++ b/mm/swap.c
@@ -213,34 +213,6 @@ void __pagevec_lru_add(struct pagevec *pvec)
        pagevec_release(pvec);
 }
 
-/*
- * Remove the passed pages from the LRU, then drop the caller's refcount on
- * them.  Reinitialises the caller's pagevec.
- */
-void __pagevec_lru_del(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);
-               }
-               if (!TestClearPageLRU(page))
-                       BUG();
-               del_page_from_lru(zone, page);
-       }
-       if (zone)
-               spin_unlock_irq(&zone->lru_lock);
-       pagevec_release(pvec);
-}
-
 /*
  * Perform any setup for the swap system
  */