lkml.org 
[lkml]   [2007]   [Jul]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: RFT: updatedb "morning after" problem [was: Re: -mm merge plans for 2.6.23]
    On Thu, 26 Jul 2007 11:40:24 +0200 Ingo Molnar <mingo@elte.hu> wrote:

    >
    > * Andrew Morton <akpm@linux-foundation.org> wrote:
    >
    > > On Thu, 26 Jul 2007 11:20:25 +0200 Ingo Molnar <mingo@elte.hu> 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.

    Sure, but it's practical, isn't it? Who runs (and cares about)
    vfs-intensive workloads during their wee-small-hours updatedb run?

    (OK, I do, but I kill the damn thing if it goes off)

    > 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

    Setting it to zero will maximise the preservation of the vfs caches. You
    wanted 10000 there.

    <bets that nobody will test this>
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2007-07-26 12:13    [W:0.021 / U:6.584 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site