Re: [PATCH, RFC] RCU : OOM avoidance and lower latency

Eric Dumazet
2006-01-07T08:30:33Z

David S. Miller a écrit :
>
> Eric, how important do you honestly think the per-hashchain spinlocks
> are? That's the big barrier from making rt_secret_rebuild() a simple
> rehash instead of flushing the whole table as it does now.
>

No problem for me in going to a single spinlock.
I did the hashed spinlock patch in order to reduce the size of the route hash
table and not hurting big NUMA machines. If you think a single spinlock is OK,
that's even better !

> The lock is only grabbed for updates, and the access to these locks is
> random and as such probably non-local when taken anyways. Back before
> we used RCU for reads, this array-of-spinlock thing made a lot more
> sense.
>
> I mean something like this patch:
>

> +static DEFINE_SPINLOCK(rt_hash_lock);

Just one point : This should be cache_line aligned, and use one full cache
line to avoid false sharing at least. (If a cpu takes the lock, no need to
invalidate *rt_hash_table for all other cpus)

Eric