Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/fs/dcache.c |    5 +++++
 1 files changed, 5 insertions(+)

diff -puN fs/dcache.c~prune_dcache-latency-fix fs/dcache.c
--- 25/fs/dcache.c~prune_dcache-latency-fix	2004-07-13 01:21:21.311107448 -0700
+++ 25-akpm/fs/dcache.c	2004-07-13 01:21:21.315106840 -0700
@@ -379,6 +379,11 @@ static void prune_dcache(int count)
 		struct dentry *dentry;
 		struct list_head *tmp;
 
+		if (unlikely((count & 255) == 0)) {
+			spin_unlock(&dcache_lock);
+			cpu_relax();
+			spin_lock(&dcache_lock);
+		}
 		tmp = dentry_unused.prev;
 		if (tmp == &dentry_unused)
 			break;
_