2003-07-16 06:25:08

by Nagendra Singh Tomar

[permalink] [raw]
Subject: lock_sock and friends !


I posted this on linux-net and did not get any reply, hoping to get a
reply here ..


---------- Forwarded message ----------
Date: Tue, 15 Jul 2003 11:52:35 +0530
From: "Tomar, Nagendra" <[email protected]>
To: [email protected]
Subject: lock_sock and friends !

Hi,
From reading the Linux 2.4 networking code I can figure out that any
activity that can change the state of the socket (it can be sequence
numbers getting updated or geting more free sndbuf memory because of
some
packet on the retransmission queue being ACKed) is done after taking the

socket lock (lock_sock from user context and bh_lock_sock from BH
context).
I would like some authority on this to confirm this. Is the following
statement true.
At any time (even on SMP machines) only one piece of the code will be
working on a socket. Of course the piece of code in question is one that

changes the state of the socket, either by processing a newly received
packet or by calling tcp_free_skb() to add to the free socket memory.

If any clarification is needed pls feel free to contact me.

Any comments are highly welcome.

Thanx
tomar