Re: [RFC 1/4] hashtable: introduce a small and naive hashtable

From: Linus Torvalds
Date: Thu Aug 02 2012 - 16:33:00 EST


On Thu, Aug 2, 2012 at 1:25 PM, Josh Triplett <josh@xxxxxxxxxxxxxxxx> 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)

Linus

Attachment: patch.diff
Description: Binary data