Quoting "David S. Miller" <davem@redhat.com>:
> There are methods to eliminate the centrality of the
> port allocation locking.
>
> Basically, kill tcp_portalloc_lock and make the port rover be
> per-cpu.
Aha! Exactly what I started to do quite a while ago..
> The only tricky case is the "out of ports" situation. Because
> there is no centralized locking being used to serialize port
> allocation, it is difficult to be sure that the port space is truly
> exhausted.
I decided to use a stupid global flag to signal this..It did become
messy and I didnt finalize everything. Then my day job
intervened :). Still hoping for spare time*5 to complete
this if none comes up with something before then..
> Another idea, which doesn't eliminate the tcp_portalloc_lock but
> has other good SMP properties, is to apply a "cpu salt" to the
> port rover value. For example, shift the local cpu number into
> the upper parts of a 'u16', then 'xor' that with tcp_port_rover.
nice..any patch extant? :)
thanks,
Nivedita
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Sat Sep 07 2002 - 22:00:30 EST