[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.1.10.0908261115140.9933@gentwo.org>
Date: Wed, 26 Aug 2009 11:27:43 -0400 (EDT)
From: Christoph Lameter <cl@...ux-foundation.org>
To: Eric Dumazet <eric.dumazet@...il.com>
cc: Sridhar Samudrala <sri@...ibm.com>,
David Stevens <dlstevens@...ibm.com>,
"David S. Miller" <davem@...emloft.net>, netdev@...r.kernel.org,
niv@...ux.vnet.ibm.com, sri@...ux.vnet.ibm.com
Subject: Re: UDP multicast packet loss not reported if TX ring overrun?
On Wed, 26 Aug 2009, Eric Dumazet wrote:
> I think it's already done in udp_sendmsg()>
> Code starting at line 765 in net/ipv4/udp.c
>
> /*
> * ENOBUFS = no kernel mem, SOCK_NOSPACE = no sndbuf space. Reporting
> * ENOBUFS might not be good (it's not tunable per se), but otherwise
> * we don't have a good statistic (IpOutDiscards but it can be too many
> * things). We could add another new stat but at least for now that
> * seems like overkill.
> */
> if (err == -ENOBUFS || test_bit(SOCK_NOSPACE, &sk->sk_socket->flags)) {
> UDP_INC_STATS_USER(sock_net(sk),
> UDP_MIB_SNDBUFERRORS, is_udplite);
> }
>
Right. That would mean the fix to ip_push_pending_frames() would also fix
UDP tx drop accounting.
ENOBUFS is then returned for two cases.
1. SNDBUF overflow
2. NIC TX overflow
Hope that is not confusing.
--
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