From patchwork Mon Nov 28 17:54:07 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lance Richardson X-Patchwork-Id: 700080 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3tSDpF3xZKz9vDk for ; Tue, 29 Nov 2016 04:54:29 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752142AbcK1RyZ (ORCPT ); Mon, 28 Nov 2016 12:54:25 -0500 Received: from mx4-phx2.redhat.com ([209.132.183.25]:42173 "EHLO mx4-phx2.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751033AbcK1RyY (ORCPT ); Mon, 28 Nov 2016 12:54:24 -0500 Received: from zmail26.collab.prod.int.phx2.redhat.com (zmail26.collab.prod.int.phx2.redhat.com [10.5.83.33]) by mx4-phx2.redhat.com (8.13.8/8.13.8) with ESMTP id uASHs7U5023298; Mon, 28 Nov 2016 12:54:07 -0500 Date: Mon, 28 Nov 2016 12:54:07 -0500 (EST) From: Lance Richardson To: Stephen Rothwell Cc: Sven-Haegar Koch , Eli Cooper , netdev@vger.kernel.org, Eric Dumazet Message-ID: <1428298236.4223309.1480355647336.JavaMail.zimbra@redhat.com> In-Reply-To: <20161127142340.3a5c197e@canb.auug.org.au> References: <20161125120947.142c3af5@canb.auug.org.au> <20161125134520.68ca0969@canb.auug.org.au> <20161127142340.3a5c197e@canb.auug.org.au> Subject: Re: Large performance regression with 6in4 tunnel (sit) MIME-Version: 1.0 X-Originating-IP: [10.10.116.52] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - GC54 (Linux)/8.0.6_GA_5922) Thread-Topic: Large performance regression with 6in4 tunnel (sit) Thread-Index: qnoDGO428pVyY3lWTY8bVK7BIbkWSA== Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org > From: "Stephen Rothwell" > To: "Sven-Haegar Koch" > Cc: "Eli Cooper" , netdev@vger.kernel.org, "Eric Dumazet" > Sent: Saturday, November 26, 2016 10:23:40 PM > Subject: Re: Large performance regression with 6in4 tunnel (sit) > > Hi Sven-Haegar, > > On Fri, 25 Nov 2016 05:06:53 +0100 (CET) Sven-Haegar Koch > wrote: > > > > Somehow this problem description really reminds me of a report on > > netdev a bit ago, which the following patch fixed: > > > > commit 9ee6c5dc816aa8256257f2cd4008a9291ec7e985 > > Author: Lance Richardson > > Date: Wed Nov 2 16:36:17 2016 -0400 > > > > ipv4: allow local fragmentation in ip_finish_output_gso() > > > > Some configurations (e.g. geneve interface with default > > MTU of 1500 over an ethernet interface with 1500 MTU) result > > in the transmission of packets that exceed the configured MTU. > > While this should be considered to be a "bad" configuration, > > it is still allowed and should not result in the sending > > of packets that exceed the configured MTU. > > > > Could this be related? > > > > I suppose it would be difficult to test this patch on this machine? > > The kernel I am running on is based on 4.7.8, so the above patch > doesn't come close to applying. Most fo what it is reverting was > introduced in commit 359ebda25aa0 ("net/ipv4: Introduce IPSKB_FRAG_SEGS > bit to inet_skb_parm.flags") in v4.8-rc1. > > -- > Cheers, > Stephen Rothwell > This should be equivalent for 4.7.x: diff --git a/net/ipv4/ip_output.c b/net/ipv4/ip_output.c index 4bd4921..8a253e2 100644 --- a/net/ipv4/ip_output.c +++ b/net/ipv4/ip_output.c @@ -224,8 +224,7 @@ static int ip_finish_output_gso(struct net *net, struct sock *sk, int ret = 0; /* common case: locally created skb or seglen is <= mtu */ - if (((IPCB(skb)->flags & IPSKB_FORWARDED) == 0) || - skb_gso_network_seglen(skb) <= mtu) + if (skb_gso_network_seglen(skb) <= mtu) return ip_finish_output2(net, sk, skb); /* Slowpath - GSO segment length is exceeding the dst MTU.