[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1251309040.10599.34.camel@w-sridhar.beaverton.ibm.com>
Date: Wed, 26 Aug 2009 10:50:40 -0700
From: Sridhar Samudrala <sri@...ibm.com>
To: Christoph Lameter <cl@...ux-foundation.org>
Cc: David Stevens <dlstevens@...ibm.com>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <eric.dumazet@...il.com>, netdev@...r.kernel.org,
niv@...ux.vnet.ibm.com
Subject: Re: UDP multicast packet loss not reported if TX ring overrun?
On Wed, 2009-08-26 at 12:29 -0400, Christoph Lameter wrote:
> On Tue, 25 Aug 2009, Sridhar Samudrala wrote:
>
> > Could you check if the UDP packet losses you are seeing are accounted for in
> > qdisc drops with this patch. But i am not completely positive on this as this
> > case happens only if qdisc is deactivated.
>
> This does not work. qdisc drops are still not reported.
OK. So the drops are not happening in dev_queue_xmit().
> They are reported for IP and UDP.
Not clear what you meant by this.
> Test tool crashes on first TX overrun:
>
> clameter@...strategy3-deb64:~$ ./mcast -n1 -r400000
> Receiver: Listening to control channel 239.0.192.1
> Receiver: Subscribing to 0 MC addresses 239.0.192-254.2-254 offset 0
> origin 10.2.36.123
> Sender: Sending 400000 msgs/ch/sec on 1 channels. Probe interval=0.001-1
> sec.
> sendto: No buffer space available
> Socket Send error
>
> netstat reports exactly one packet loss:
>
>
> clameter@...strategy3-deb64:~$ netstat -su
> IcmpMsg:
> InType3: 1
> OutType3: 1
> Udp:
> 298 packets received
> 0 packets to unknown port received.
> 0 packet receive errors
> 7232136 packets sent
> SndbufErrors: 1
>
> root@...strategy3-deb64:/home/clameter#tc -s qdisc show
> qdisc pfifo_fast 0: dev eth0 root bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1
> 1 1 1 1
> Sent 6208 bytes 64 pkt (dropped 0, overlimits 0 requeues 0)
> rate 0bit 0pps backlog 0b 0p requeues 0
Even the Sent count seems to be too low. Are you looking at the right
device?
So based on the current analysis, the packets are getting dropped after
the call to ip_local_out() in ip_push_pending_frames(). ip_local_out()
is failing with NET_XMIT_DROP. But we are not sure where they are
getting dropped. Is that right?
I think we need to figure out where they are getting dropped and then
decide on the appropriate counter to be incremented.
Thanks
Sridhar
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists