Re: Re: [PATCH 1/3]fs/inode: iunique() Optimize Performance

From: Nick Piggin
Date: Wed Dec 02 2009 - 04:42:57 EST


On Tue, Dec 01, 2009 at 07:00:41AM -0700, Matthew Wilcox wrote:
> On Tue, Dec 01, 2009 at 09:21:32PM +0800, Liuweni wrote:
> > * BUGS:
> > * With a large number of inodes live on the file system this function
> > * currently becomes quite slow.
> >
>
> I don't believe that comment is correct. In any case, your optimisation
> wouldn't make a lick of difference to the speed; it's a single comparison
> in a loop which also calculates a hash, makes a function call, and walks
> the length of a hash chain.
>
> The old adage about debugging code, not comments applies here. Don't take
> somebody else's word for it that there's a performance problem here.
> Devise a test to demonstrate the performance problem. Otherwise, how
> will you know if you solved it?

Yeah I agree. And then we can debate the usefulness of that workload.

iunique is not used in many filesystems. If performance really becomes a
problem, then you most likely need another data structure. A per-sb ida or
something would come to mind, but I expect any filesystem that cares already
has a decent inode number allocation so iunique is just a simple hack for
those that don't care so much.

--
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/