Andrew Morton wrote:
This search is potentially inefficient. It would be better walk
sb->s_inodes.
Not sure about walking thru sb->s_inodes for several reasons....
1. First, the changes made are mostly for file server setup with large
fs size - the entry count in sb->s_inodes may not be shorter then
inode_unused list.
2. Different from calls such as drop_pagecache_sb() (that doesn't do
list entry removal), we're walking thru the list to dispose the entries.
This implies we are walking thru one list (sb->s_inodes) to remove the
other list's entries (inode_unused). This feels awkward.
3. The new code will be very similar to current prune_icache() with few
differences - e.g., we really don't want to list_move() within the
sb->s_inodes list itself (as done in prune_icache() that moves the
examined entry to the tail of the inode_unused list). We have to either
duplicate the code or clutter the current prune_icache() routine.
Pruning based on sb->s_inodes *does* have its advantage but a simple and
plain patch as shown in previous post (that has been well-tested out in
two large scale production systems) could be equally effective. Make
sense ?
-- Wendy
-
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html