On Thu, Mar 09, 2006 at 01:12:20PM -0800, David S. Miller wrote:
> 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.
Nice!
> 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.
I think I know what the problem is. Basically, sockets from the listen
table can have their refcount leaked in the do_time_wait chunk of code.
I'll send out a patch that reworks that area and also adds one thing I
missed, which is that sock_hold() in an rcu section needs to be an
atomic_inc_not_zero, or the socket can be leaked (resulting in exactly
that sort of failure when a listening socket is destroyed).
-ben
-
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