aboutsummaryrefslogtreecommitdiffstats
path: root/fs/inode.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/inode.c')
-rw-r--r--fs/inode.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/fs/inode.c b/fs/inode.c
index 9e198f00b64c..35d2108d567c 100644
--- a/fs/inode.c
+++ b/fs/inode.c
@@ -730,8 +730,11 @@ static enum lru_status inode_lru_isolate(struct list_head *item,
730 return LRU_REMOVED; 730 return LRU_REMOVED;
731 } 731 }
732 732
733 /* recently referenced inodes get one more pass */ 733 /*
734 if (inode->i_state & I_REFERENCED) { 734 * Recently referenced inodes and inodes with many attached pages
735 * get one more pass.
736 */
737 if (inode->i_state & I_REFERENCED || inode->i_data.nrpages > 1) {
735 inode->i_state &= ~I_REFERENCED; 738 inode->i_state &= ~I_REFERENCED;
736 spin_unlock(&inode->i_lock); 739 spin_unlock(&inode->i_lock);
737 return LRU_ROTATE; 740 return LRU_ROTATE;