Strange UDP behaviour in RPC (call for suggestions...)

Trond Myklebust (trond.myklebust@fys.uio.no)
Wed, 5 May 1999 15:09:58 +0200 (CEST)


Hi everybody,

I've received reports which suggest that the UDP layer is being slow
to deliver packets that have been received in certain
cases. Typically, in the sunrpc layer, we're sending out requests,
which time out, then suddenly an avalanche of UDP replies to the same
request is being seen:

May 4 19:10:57 p08 kernel: RPC: 37750 xprt_transmit(f4461374)
May 4 19:10:57 p08 kernel: RPC: 37750 call_timeout (minor timeo)
May 4 19:10:57 p08 kernel: RPC: 37750 xprt_transmit(f4461374)
May 4 19:10:59 p08 kernel: RPC: 37750 call_timeout (minor timeo)
May 4 19:10:59 p08 kernel: RPC: 37750 xprt_transmit(f4461374)
May 4 19:11:02 p08 kernel: RPC: 37750 call_timeout (minor timeo)
May 4 19:11:02 p08 kernel: RPC: 37750 xprt_transmit(f4461374)
May 4 19:11:02 p08 kernel: RPC: udp_data_ready...
May 4 19:11:02 p08 kernel: RPC: udp_data_ready client c1aac000
May 4 19:11:02 p08 kernel: RPC: 37750 received reply
May 4 19:11:02 p08 kernel: RPC: udp_data_ready...
May 4 19:11:02 p08 kernel: RPC: udp_data_ready client c1aac000
May 4 19:11:02 p08 kernel: RPC: unknown XID f4461374 in reply.
May 4 19:11:02 p08 kernel: RPC: udp_data_ready...
May 4 19:11:02 p08 kernel: RPC: udp_data_ready client c1aac000
May 4 19:11:02 p08 kernel: RPC: unknown XID f4461374 in reply.
May 4 19:11:02 p08 kernel: RPC: udp_data_ready...
May 4 19:11:02 p08 kernel: RPC: udp_data_ready client c1aac000
May 4 19:11:02 p08 kernel: RPC: unknown XID f4461374 in reply.

To me, that suggests that the requests are being queued, but not sent
until something triggers the sending. Does anybody have any
suggestions as to what is needed?

NOTE: The kernel lock is being held in most of the sunrpc code, but
bottom halves are meant to be enabled most of the time, so I would
have thought things to be OK.
I've requested a tcpdump for the above case: it would be
interesting to compare the above with tcpdump timing information. If
nobody is immediately able to tell what's wrong, I can post the
tcpdump info as soon as I get it...

Cheers,
Trond

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/