Dear All,

I'm trying to understand how TCP is working in linux kernel, I've been reading this lxr.free-electrons.com/source/net/ipv4/tcp_input.c#L3685", and flylib.com/books/en/3.475.1.124/1/ and I'm interested in how many timers are accessing one data structure, like retransmission queue is being accessed by retransmit timer and also by another processes when the ack is actually received, is spinlock/mutux used in here.
And the above made me think about another question. which is what will happen if ACK is received at the same time retransmit timer reached 0 and interrupted the first thread, what will happen then?