Re: DNS (?) not working on G5 (64-bit powerpc) (was [net-next,v3,3/3] udp: try to avoid 2 cache miss on dequeue)
From: Paolo Abeni <pabeni@redhat.com>
Date: 2017-06-23 11:59:46
Also in:
netdev
On Fri, 2017-06-23 at 16:59 +1000, Michael Ellerman wrote:
Hannes Frederic Sowa [off-list ref] writes:quoted
On Thu, Jun 22, 2017, at 22:57, Paolo Abeni wrote:quoted
Can you please check if the following patch fixes the issue? Only compiled tested here. Thanks!!! ---diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c index 067a607..80d89fe 100644 --- a/net/ipv4/udp.c +++ b/net/ipv4/udp.c@@ -1446,16 +1446,19 @@ static struct sk_buff*__first_packet_length(struct sock *sk, { struct sk_buff *skb; - while ((skb = skb_peek(rcvq)) != NULL && - udp_lib_checksum_complete(skb)) { - __UDP_INC_STATS(sock_net(sk), UDP_MIB_CSUMERRORS, - IS_UDPLITE(sk)); - __UDP_INC_STATS(sock_net(sk), UDP_MIB_INERRORS, - IS_UDPLITE(sk)); - atomic_inc(&sk->sk_drops); - __skb_unlink(skb, rcvq); - *total += skb->truesize; - kfree_skb(skb); + while ((skb = skb_peek(rcvq)) != NULL) { + if (udp_lib_checksum_complete(skb)) { + __UDP_INC_STATS(sock_net(sk), UDP_MIB_CSUMERRORS, + IS_UDPLITE(sk)); + __UDP_INC_STATS(sock_net(sk), UDP_MIB_INERRORS, + IS_UDPLITE(sk)); + atomic_inc(&sk->sk_drops); + __skb_unlink(skb, rcvq); + *total += skb->truesize; + kfree_skb(skb); + } else { + udp_set_dev_scratch(skb);It needs a "break;" here.quoted
+ } } return skb; }That works! $ wget google.com --2017-06-23 16:56:31-- http://google.com/ Resolving proxy.pmdw.com (proxy.pmdw.com)... 10.1.2.3 Connecting to proxy.pmdw.com (proxy.pmdw.com)|10.1.2.3|:3128... connected. Proxy request sent, awaiting response... 302 Found Location: http://www.google.com.au/?gfe_rd=cr&ei=n7tMWeb9JYPr8wfg4LXYAQ [following] --2017-06-23 16:56:31-- http://www.google.com.au/?gfe_rd=cr&ei=n7tMWeb9JYPr8wfg4LXYAQ Reusing existing connection to proxy.pmdw.com:3128. Proxy request sent, awaiting response... 200 OK Length: unspecified [text/html] Saving to: ‘index.html’ The patch had whitespace issues or something and I had to apply it by hand, here's what I actually tested.
Thank you! I'll submit formally the patch after some more testing. I noticed this version has entered the ppc patchwork, but I think that the formal submission should go towards the net-next tree. Cheers, Paolo