Commit e035a047 authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds

[PATCH] remove pagevec_lru_del()

it was only being used in invalidate_inode_pages(), and from there,
pagevec_release() does the same thing.
parent c99b0372
...@@ -18,7 +18,6 @@ void __pagevec_release(struct pagevec *pvec); ...@@ -18,7 +18,6 @@ void __pagevec_release(struct pagevec *pvec);
void __pagevec_release_nonlru(struct pagevec *pvec); void __pagevec_release_nonlru(struct pagevec *pvec);
void __pagevec_free(struct pagevec *pvec); void __pagevec_free(struct pagevec *pvec);
void __pagevec_lru_add(struct pagevec *pvec); void __pagevec_lru_add(struct pagevec *pvec);
void __pagevec_lru_del(struct pagevec *pvec);
void lru_add_drain(void); void lru_add_drain(void);
void pagevec_deactivate_inactive(struct pagevec *pvec); void pagevec_deactivate_inactive(struct pagevec *pvec);
...@@ -69,9 +68,3 @@ static inline void pagevec_lru_add(struct pagevec *pvec) ...@@ -69,9 +68,3 @@ static inline void pagevec_lru_add(struct pagevec *pvec)
if (pagevec_count(pvec)) if (pagevec_count(pvec))
__pagevec_lru_add(pvec); __pagevec_lru_add(pvec);
} }
static inline void pagevec_lru_del(struct pagevec *pvec)
{
if (pagevec_count(pvec))
__pagevec_lru_del(pvec);
}
...@@ -116,10 +116,10 @@ void invalidate_inode_pages(struct inode * inode) ...@@ -116,10 +116,10 @@ void invalidate_inode_pages(struct inode * inode)
struct list_head *head, *curr; struct list_head *head, *curr;
struct page * page; struct page * page;
struct address_space *mapping = inode->i_mapping; struct address_space *mapping = inode->i_mapping;
struct pagevec lru_pvec; struct pagevec pvec;
head = &mapping->clean_pages; head = &mapping->clean_pages;
pagevec_init(&lru_pvec); pagevec_init(&pvec);
write_lock(&mapping->page_lock); write_lock(&mapping->page_lock);
curr = head->next; curr = head->next;
...@@ -143,8 +143,8 @@ void invalidate_inode_pages(struct inode * inode) ...@@ -143,8 +143,8 @@ void invalidate_inode_pages(struct inode * inode)
__remove_from_page_cache(page); __remove_from_page_cache(page);
unlock_page(page); unlock_page(page);
if (!pagevec_add(&lru_pvec, page)) if (!pagevec_add(&pvec, page))
__pagevec_lru_del(&lru_pvec); __pagevec_release(&pvec);
continue; continue;
unlock: unlock:
unlock_page(page); unlock_page(page);
...@@ -152,7 +152,7 @@ void invalidate_inode_pages(struct inode * inode) ...@@ -152,7 +152,7 @@ void invalidate_inode_pages(struct inode * inode)
} }
write_unlock(&mapping->page_lock); write_unlock(&mapping->page_lock);
pagevec_lru_del(&lru_pvec); pagevec_release(&pvec);
} }
static int do_invalidatepage(struct page *page, unsigned long offset) static int do_invalidatepage(struct page *page, unsigned long offset)
......
...@@ -213,34 +213,6 @@ void __pagevec_lru_add(struct pagevec *pvec) ...@@ -213,34 +213,6 @@ void __pagevec_lru_add(struct pagevec *pvec)
pagevec_release(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 * Perform any setup for the swap system
*/ */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment