Thread (64 messages) flat view 64 messages, 15 authors, 2002-09-17

Re: Early SPECWeb99 results on 2.5.33 with TSO on e1000

From: Nivedita Singhvi <hidden>
Date: 2002-09-06 19:40:48
Also in: lkml

Quoting "David S. Miller" [off-list ref]:
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help