RFT: updatedb "morning after" problem [was: Re: -mm merge plansfor 2.6.23]

From: Ingo Molnar
Date: Thu Jul 26 2007 - 05:41:00 EST



* Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:

> On Thu, 26 Jul 2007 11:20:25 +0200 Ingo Molnar <mingo@xxxxxxx> wrote:
>
> > Once we give the kernel the knowledge that the dentry wont be used again
> > by this app, the kernel can do a lot more intelligent decision and not
> > baloon the dentry cache.
> >
> > ( we _do_ want to baloon the dentry cache otherwise - for things like
> > "find" - having a fast VFS is important. But known-use-once things
> > like the daily updatedb job can clearly be annotated properly. )
>
> Mutter. /proc/sys/vm/vfs_cache_pressure has been there for what,
> three years? Are any distros raising it during the updatedb run yet?

but ... that's system-wide, and the 'dont baloon the dcache' is only a
property of updatedb. Still, it's useful to debug this thing.

below is an updatedb hack that sets vfs_cache_pressure down to 0 during
an updatedb run. Could someone who is affected by the 'morning after'
problem give it a try? If this works then we can think about any other
measures ...

Ingo

--- /etc/cron.daily/mlocate.cron.orig
+++ /etc/cron.daily/mlocate.cron
@@ -1,4 +1,7 @@
#!/bin/sh
nodevs=$(< /proc/filesystems awk '$1 == "nodev" { print $2 }')
renice +19 -p $$ >/dev/null 2>&1
+PREV=`cat /proc/sys/vm/vfs_cache_pressure 2>/dev/null`
+echo 0 > /proc/sys/vm/vfs_cache_pressure 2>/dev/null
/usr/bin/updatedb -f "$nodevs"
+[ "$PREV" != "" ] && echo $PREV > /proc/sys/vm/vfs_cache_pressure 2>/dev/null
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/