socket destroy delayed triggered by double lock on device queue

Axel Kohlmeyer (akohlmey@rincewind.chemie.uni-ulm.de)
Tue, 16 Apr 1996 10:52:43 +0200


Hi all,
i've been observing the famous double lock on device queue flood on every shutdown
for quite a while now. taking a closer look reveales the following scheme:

every once in a while (mostly when a bunch of linux-kernel mails comes in) i get
a double lock on device queue message. netstat reveals that the Send-Q value for
the ntp-port has been increased by 252. example:
[98|10:02] akohlmey@rincewind:~> netstat -tu
Active Internet connections
Proto Recv-Q Send-Q Local Address Foreign Address (State) User
udp 0 0 localhost:721 localhost:amd ESTABLISHED
udp 0 0 localhost:ntp *:*
udp 0 1512 rincewind.chemie.u:ntp *:*
^^^^
[99|10:02] akohlmey@rincewind:~> uptime
10:02am up 16:07, 3 users, load average: 0.09, 0.08, 0.08
[101|10:03] akohlmey@rincewind:~> dmesg | grep "double lock" | wc -l
6

at the moment i kill xntpd the flood of "socket destroy delayed messages" is filling
my syslog. one message every 10 seconds and the w= values is exact the number on the
ntp send-q.

FWIW: this reproducable with all 1.3.8x kernels.
im using gcc-2.7.2.l.3, binutils 2.6.0.12
the machine (rincewind) is a 486DX33 ISA with a smc-ultra network-adapter.

hopefully someone with more knowledge of the networking code can do something
useful with this info.

Cheers,
Axel.

=========================================================================
Axel Kohlmeyer email: axel.kohlmeyer@chemie.uni-ulm.de
Abteilung fuer Theoretische Chemie Universitaet Ulm D-89069 Ulm/Donau
=========================================================================