Re: [PATCH] prune_icache_sb

Wendy Cheng
2006-11-28T00:03:20Z

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