Messages in this thread | | | Date | Tue, 6 Dec 2005 01:10:06 +0100 | From | Jan Kasprzak <> | Subject | Re: 2.6.14 kswapd eating too much CPU |
| |
Marcelo Tosatti wrote: : I wonder why prune_icache() does not move inodes with positive i_count : to inode_inuse list, letting iput() take care of moving to unused : once the count reaches zero. : : inode = list_entry(inode_unused.prev, struct inode, i_list); : if (inode->i_state || atomic_read(&inode->i_count)) { : list_move(&inode->i_list, &inode_unused); : continue; : } : : Couldnt it be : list_move(&inode->i_list, &inode_inuse); : : ?
Hmm, this code is indeed strange. Why does it move the inode to the inode_unused list, when the inode has in fact been _found_ while scanning the inode_unused list? And how can an inode with positive ->i_count end up on the inode_unused list?
-Yenya
-- | Jan "Yenya" Kasprzak <kas at {fi.muni.cz - work | yenya.net - private}> | | GPG: ID 1024/D3498839 Fingerprint 0D99A7FB206605D7 8B35FCDE05B18A5E | | http://www.fi.muni.cz/~kas/ Journal: http://www.fi.muni.cz/~kas/blog/ | > Specs are a basis for _talking_about_ things. But they are _not_ a basis < > for implementing software. --Linus Torvalds < - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |