lkml.org 
[lkml]   [2010]   [Sep]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [RFC][PATCH] update /proc/sys/vm/drop_caches documentation
    On Tue, 14 Sep 2010 16:47:14 -0700
    Dave Hansen <dave@linux.vnet.ibm.com> wrote:

    >
    > There seems to be an epidemic spreading around. People get the idea
    > in their heads that the kernel caches are evil. They eat too much
    > memory, and there's no way to set a size limit on them! Stupid
    > kernel!
    >
    > There is plenty of anecdotal evidence and a load of blog posts
    > suggesting that using "drop_caches" periodically keeps your system
    > running in "tip top shape". I do not think that is true.
    >
    > If we are not shrinking caches effectively, then we have real bugs.
    > Using drop_caches will simply mask the bugs and make them harder
    > to find, but certainly does not fix them, nor is it an appropriate
    > "workaround" to limit the size of the caches.
    >
    > It's a great debugging tool, and is really handy for doing things
    > like repeatable benchmark runs. So, add a bit more documentation
    > about it, and add a WARN_ONCE(). Maybe the warning will scare
    > some sense into people.
    >
    >
    > Signed-off-by: Dave Hansen <dave@linux.vnet.ibm.com>
    > ---
    >
    > linux-2.6.git-dave/Documentation/sysctl/vm.txt | 14 ++++++++++++--
    > linux-2.6.git-dave/fs/drop_caches.c | 2 ++
    > 2 files changed, 14 insertions(+), 2 deletions(-)
    >
    > diff -puN Documentation/sysctl/vm.txt~update-drop_caches-documentation Documentation/sysctl/vm.txt
    > --- linux-2.6.git/Documentation/sysctl/vm.txt~update-drop_caches-documentation 2010-09-14 15:30:19.000000000 -0700
    > +++ linux-2.6.git-dave/Documentation/sysctl/vm.txt 2010-09-14 16:40:58.000000000 -0700
    > @@ -145,8 +145,18 @@ To free dentries and inodes:
    > To free pagecache, dentries and inodes:
    > echo 3 > /proc/sys/vm/drop_caches
    >
    > -As this is a non-destructive operation and dirty objects are not freeable, the
    > -user should run `sync' first.
    > +This is a non-destructive operation and will not free any dirty objects.
    > +To increase the number of objects freed by this operation, the user may run
    > +`sync' prior to writing to /proc/sys/vm/drop_caches. This will minimize the
    > +number of dirty objects on the system and create more candidates to be
    > +dropped.
    > +
    > +This file is not a means to control the growth of the various kernel caches
    > +(inodes, dentries, pagecache, etc...) These objects are automatically
    > +reclaimed by the kernel when memory is needed elsewhere on the system.
    > +
    > +Outside of a testing or debugging environment, use of
    > +/proc/sys/vm/drop_caches is not recommended.
    >
    > ==============================================================
    >
    > diff -puN fs/drop_caches.c~update-drop_caches-documentation fs/drop_caches.c
    > --- linux-2.6.git/fs/drop_caches.c~update-drop_caches-documentation 2010-09-14 15:44:29.000000000 -0700
    > +++ linux-2.6.git-dave/fs/drop_caches.c 2010-09-14 15:58:31.000000000 -0700
    > @@ -47,6 +47,8 @@ int drop_caches_sysctl_handler(ctl_table
    > {
    > proc_dointvec_minmax(table, write, buffer, length, ppos);
    > if (write) {
    > + WARN_ONCE(1, "kernel caches forcefully dropped, "
    > + "see Documentation/sysctl/vm.txt\n");

    Documentation updeta seems good but showing warning seems to be meddling to me.

    Thanks,
    -Kame



    \
     
     \ /
      Last update: 2010-09-15 06:41    [W:3.281 / U:0.344 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site