cvs commit: src/sys/netinet in_pcb.c tcp_subr.c tcp_timer.c tcp_var.h

Scott Long scottl at
Wed Sep 6 10:02:06 PDT 2006

Andre Oppermann wrote:
> Gleb Smirnoff wrote:
>>  followup on my last email:
>> T> I think we should free the oldmost tcptw entry in a case if we can't
>> T> find the local endpoint. We can tell definitely that we can't find one
>> T> only in in_pcbbind_setup() in the "do {} while 
>> (in_pcblookup_local)" cycle,
>> T> where EADDRNOTAVAIL is returned. We can't definitely tell this in
>> T> in_pcblookup_local() since we don't know whether tried port is the
>> T> last one.
>> Another simple enough solution would be to msleep() with tcbinfo mutex
>> temporarily dropped if we fail to find a port. Then the 
>> tcp_timer_2msl_tw()
>> on the next run will free tcptw entries and wake up us.
>> Anyway, I'm strongly against doing the purge cycling in the syscalls.
> Seconded.

O(N) searches are poor at scaling too =-)


More information about the cvs-src mailing list