Re: [PATCH] Decrease hash table memory overhead

From: Linus Torvalds (torvalds@transmeta.com)
Date: Mon Jul 31 2000 - 01:02:10 EST


On Mon, 31 Jul 2000, Andi Kleen wrote:
>
> Ok, it is worth about 13% for iget() on a K6-400 during cache trashing
> with empty file system read_inode.

I'm not interested in made-up benchmarks that cannot be reproduced under
real load.

Can you make it show up on a real filesystem even with a contrieved
user-mode benchmark?

(Btw, even if you do convince me, please don't use a name like "hlist".
"hlist WHAT?" What's the "h" for? "hash"? Why? Basically, it sounds
nonsensical).

Btw, from past exprience I've found that it can be a lot more advantageous
to just dynamically move the hash entries to the front of the list when
accessed, rather than worry about how the list is set up. Hashes are bad
on the caches by design, and whether the hash table takes up x or 2x of
memory is pretty much immaterial for performance. But whether you find
the entry on the first or the fifth try is noticeable.

I suspect you'd find more of a performance advantage from trying something
like that instead..

                        Linus

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon Jul 31 2000 - 21:00:32 EST