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