|| ||Linus Torvalds <torvalds-AT-linux-foundation.org> |
|| ||Josh Triplett <josh-AT-joshtriplett.org> |
|| ||Re: [RFC 1/4] hashtable: introduce a small and naive hashtable |
|| ||Thu, 2 Aug 2012 13:32:41 -0700|
|| ||"Eric W. Biederman" <ebiederm-AT-xmission.com>, Sasha Levin <levinsasha928-AT-gmail.com>,
Tejun Heo <tj-AT-kernel.org>, akpm-AT-linux-foundation.org, linux-kernel-AT-vger.kernel.org,
|| ||Article, Thread
On Thu, Aug 2, 2012 at 1:25 PM, Josh Triplett <firstname.lastname@example.org> wrote:
> Sorry, I should clarify what I meant: you'll have a total of one extra
> indirection, not two.
Yes. But the hash table address generation is noticeably bigger and
slower due to the non-fixed size too.
In general, you can basically think of a dynamic hash table as always
having one extra entry in the hash chains. Sure, the base address
*may* cache well, but on the other hand, a smaller static hash table
caches better than a big one, so you lose some and you win some.
According to my numbers, you win a lot more than you lose.
> Does your two-level dcache handle eviction?
> Mind posting the WIP patches?
Attached. It's against an older kernel, but I suspect it still applies
cleanly. The patch is certainly simple, but note the warning (you can
*run* it, though - the race is almost entirely theoretical, so you can
get numbers without ever seeing it)
to post comments)