[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070224051556.GB16601@wotan.suse.de>
Date: Sat, 24 Feb 2007 06:15:56 +0100
From: Nick Piggin <npiggin@...e.de>
To: KAMEZAWA Hiroyuki <kamezawa.hiroyu@...fujitsu.com>
Cc: linux-kernel@...r.kernel.org
Subject: Re: [rfc][patch] dynamic resizing dentry hash using RCU
On Sat, Feb 24, 2007 at 01:07:23PM +0900, KAMEZAWA Hiroyuki wrote:
> On Fri, 23 Feb 2007 16:37:43 +0100
> Nick Piggin <npiggin@...e.de> wrote:
>
> > +static void dcache_hash_resize(unsigned int new_shift);
> > +static void mod_nr_dentry(int mod)
> > +{
> > + unsigned long dentry_size;
> > +
> > + dentry_stat.nr_dentry += mod;
> > +
> > + dentry_size = 1 << dentry_hash->shift;
> > + if (unlikely(dentry_stat.nr_dentry > dentry_size+(dentry_size>>1)))
> > + dcache_hash_resize(dentry_hash->shift+1);
> > + else if (unlikely(dentry_stat.nr_dentry < (dentry_size>>1)))
> > + dcache_hash_resize(dentry_hash->shift-1);
> > +}
> > +
>
> Do we need to do this kind of resizing in implicit automatic way ?
> I think it's good to show contention rate by /proc and add sysctl for
> resize this.
Well having the kernel automatically adjust to the workload is better
than a sysctl. But it could well be the case that these simple heuristics
are bad (though they're fine for my system).
But a manual override is a good idea as well.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists