--- linux/fs/inode.c.orig 2009-01-24 03:28:57.000000000 +0800 +++ linux/fs/inode.c 2009-01-24 03:30:18.000000000 +0800 @@ -418,7 +418,9 @@ static void prune_icache(int nr_to_scan) int nr_scanned; unsigned long reap = 0; - mutex_lock(&iprune_mutex); + if (!mutex_trylock(&iprune_mutex)) + return; + spin_lock(&inode_lock); for (nr_scanned = 0; nr_scanned < nr_to_scan; nr_scanned++) { struct inode *inode;