From: Benjamin LaHaise <[EMAIL PROTECTED]>
Date: Thu, 9 Mar 2006 12:50:44 -0800

> Hrm, maybe use cmpxchg?  That gets rid of the lock and automatically
> provides us with hashed spinlocks on archs without a cmpxchg
> implementation.

I don't think we even need to go there, here's why.

Once we have RCU in place for the TCP hash tables, we have the chance
to code up dynamically sized hash tables.  With the current locking,
this is basically impossible, with RCU it can be done.

Another thing we can do is use a secure hash via Jenkins, even though
attacks on the TCP established hash table are extremely hard and
require a lot of resources on the attacker's end, they are still
possible and I think such protection is a reasonable thing to
implement.

So the game plan I'd like to propose is:

1) Ben's RCU patch
2) Changing per-chain rwlocks to spinlocks
3) RCU based dynamic TCP hash table growth
4) move to Jenkins hash with hourly or bi-hourly random
   number regeneration

Then if things still look like they suck, we can think about
doing a hashtable of spinlocks and stuff like that.

I think the alternative per-chain locking schemes are good
ideas, and I'm interested to see how they perform too, but
I think the above should be done first.

So Ben can you work to figure out what the bind(0.0.0.0)
problem was?  Once that is fully resolved, I think I'll apply
your RCU patch to net-2.6.17.

Thanks.
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to