> Actually we do increment refcnt, for every socket found in ehash.
>
> Carefully read again __inet_lookup_established()
>
> This code is generic for ESTABLISH and TIME-WAIT sockets
>
> If you found a code that performed the lookup without taking the refcnt,
> please point me at it, this would be a
On Mon, 2015-07-20 at 19:14 +, subas...@codeaurora.org wrote:
> >> //Initialize time wait socket and setup timer
> >> inet_twsk_alloc() tw_refcnt = 0
> >> __inet_twsk_hashdance() tw_refcnt = 3
> >> inet_twsk_schedule() tw_refcnt = 4
> >> inet_twsk_put() tw_refcnt = 3
> >>
> >> //Receive packet
>> //Initialize time wait socket and setup timer
>> inet_twsk_alloc() tw_refcnt = 0
>> __inet_twsk_hashdance() tw_refcnt = 3
>> inet_twsk_schedule() tw_refcnt = 4
>> inet_twsk_put() tw_refcnt = 3
>>
>> //Receive packet 1 in timewait state
>> tcp_timewait_state_process() -> inet_twsk_schedule tw_ref
On Sun, 2015-07-19 at 03:31 +, subas...@codeaurora.org wrote:
> I am seeing an issue with the reference count of time wait sockets which
> leads to freeing of active timer object. This occurs in some data stress
> test setups, so I am unable to determine the exact step when it occured.
> Howeve
I am seeing an issue with the reference count of time wait sockets which
leads to freeing of active timer object. This occurs in some data stress
test setups, so I am unable to determine the exact step when it occured.
However, I logged the refcount and was able to find out the code path
which lead