lkml.org 
[lkml]   [1996]   [May]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Subjectdouble lock on socket
Date
From
Now, I know the double lock on socket message is supposed to not
mean anything anymore... matter of fact, the message appears to
be disabled in standard code....
But, a while back, I'd hacked linux/net/sock.h to make the
lock_sock() not just print a double lock occured, but where the
current and prev locks happened.

Not seen such a message in a while, but I finally did today with
1.99.7. I saw the following when I type into a VC that had an
rlogin session that had been idle for a while [formatted to fit
under 80 chars]

May 28 18:51:22 thune kernel: double lock on socket at tcp.c:1162, \
prev lock at tcp.c:1440

Now, in that file, line 1162 is in tcp_sendmsg() (just prior to
the discussion of Nagle's rule); line 1440 is in tcp_recvmsg()
(just prior to found_on_skb: label).

I must admit, I don't understand the networking code thoroughly.
However, it appears that there is no obvious path from that point
in tcp_recvmsg() to tcp_sendmsg() that does not go through
release_sock().

I'm still a bit confused on how a process accessing the network,
that has been paged out, could cause this scenario....
If that has been discussed before, a pointer to the message-id
(and a working website that has them archived... last time i
tried homer.ncm.com, it wasn't working), I'll reread the
discussion myself.

mrc
--
Mike Castle .-=NEXUS=-. Life is like a clock: You can work constantly
mcastle@cs.umr.edu and be right all the time, or not work at all
mcastle@umr.edu and be right at least twice a day. -- mrc
We are all of us living in the shadow of Manhattan. -- Watchmen


\
 
 \ /
  Last update: 2005-03-22 13:37    [from the cache]
©2003-2011 Jasper Spaans