Subject: Re: Extensible hashing and RCU

From: Andi Kleen <[email-masked]>
Date: 21 Feb 2007 13:41:26 +0100

Eric Dumazet <[email-masked]> writes:
> 
> For example, sock_wfree() uses 1.6612 % of cpu because of false sharing of 
> sk_flags (dirtied each time SOCK_QUEUE_SHRUNK is set :(

Might be easily fixable by moving the fields around a bit?

> If we want to optimize tcp, we should reorder fields to reduce number of cache 
> lines, not change algos. struct sock fields are currently placed to reduce 
> holes, while they should be grouped by related fields sharing cache lines.

Regrouping is definitely a good thing; but I'm not sure why you are so
deadset against exploring other data structures. The promise of RCUing
and avoiding the big hash tables seems alluding to me, even if it 
only breaks even in the end in terms of cycles.

-Andi