[{"id":1763570,"web_url":"http://patchwork.ozlabs.org/comment/1763570/","msgid":"<26D9FDECA4FBDD4AADA65D8E2FC68A4A10EA9953@ORSMSX104.amr.corp.intel.com>","list_archive_url":null,"date":"2017-09-05T18:47:44","subject":"Re: [Intel-wired-lan] [next PATCH S79-V2 13/13] i40e:\n\tignore\tskb->xmit_more when deciding to set RS bit","submitter":{"id":66945,"url":"http://patchwork.ozlabs.org/api/people/66945/","name":"Bowers, AndrewX","email":"andrewx.bowers@intel.com"},"content":"> -----Original Message-----\n> From: Intel-wired-lan [mailto:intel-wired-lan-bounces@osuosl.org] On\n> Behalf Of Alice Michael\n> Sent: Tuesday, August 29, 2017 2:33 AM\n> To: Michael, Alice <alice.michael@intel.com>; intel-wired-\n> lan@lists.osuosl.org\n> Subject: [Intel-wired-lan] [next PATCH S79-V2 13/13] i40e: ignore skb-\n> >xmit_more when deciding to set RS bit\n> \n> From: Jacob Keller <jacob.e.keller@intel.com>\n> \n> Since commit 6a7fded776a7 (\"i40e: Fix RS bit update in Tx path and disable\n> force WB workaround\") we've tried to \"optimize\" setting the RS bit based\n> around skb->xmit_more. This same logic was refactored in commit\n> 1dc8b538795f (\"i40e: Reorder logic for coalescing RS bits\"), but ultimately was\n> not functionally changed.\n> \n> Using skb->xmit_more in this way is incorrect, because in certain\n> circumstances we may see a large number of skbs in sequence with\n> xmit_more set. This leads to a performance loss as the hardware does not\n> writeback anything for those packets, which delays the time it takes for us to\n> respond to the stack transmit requests. This significantly impacts UDP\n> performance, especially when layered with multiple devices, such as\n> bonding, vlans, and vnet setups.\n> \n> This was not noticed until now because it is difficult to create a setup which\n> reproduces the issue. It was discovered in a UDP_STREAM test in a VM,\n> connected using a vnet device to a bridge, which is connected to a bonded\n> pair of X710 ports in active-backup mode with a VLAN. These layered devices\n> seem to compound the number of skbs transmitted at once by the qdisc.\n> Additionally, the problem can be masked by reducing the ITR value.\n> \n> Since the original commit does not provide strong justification for this RS bit\n> \"optimization\", revert to the previous behavior of setting the RS bit every 4th\n> packet.\n> \n> Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>\n> ---\n> Testing-hints:\n>   This may not be noticeable in many test setups. This was discovered by\n>   attaching 2 X710 ports to a bond, adding a vlan device on top of the\n>   bond, connecting this to a bridge, and using a vnet device in a VM\n>   running netperf UDP_STREAM test.\n> \n>   See also RedHat BZ #1384558\n> \n>  drivers/net/ethernet/intel/i40e/i40e_txrx.c | 34 ++++-------------------------\n>  1 file changed, 4 insertions(+), 30 deletions(-)\n\nTested-by: Andrew Bowers <andrewx.bowers@intel.com>","headers":{"Return-Path":"<intel-wired-lan-bounces@osuosl.org>","X-Original-To":["incoming@patchwork.ozlabs.org","intel-wired-lan@lists.osuosl.org"],"Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","intel-wired-lan@lists.osuosl.org"],"Authentication-Results":"ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=osuosl.org\n\t(client-ip=140.211.166.137; helo=fraxinus.osuosl.org;\n\tenvelope-from=intel-wired-lan-bounces@osuosl.org;\n\treceiver=<UNKNOWN>)","Received":["from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xmwhB2K0Bz9sPr\n\tfor <incoming@patchwork.ozlabs.org>;\n\tWed,  6 Sep 2017 04:47:53 +1000 (AEST)","from localhost (localhost [127.0.0.1])\n\tby fraxinus.osuosl.org (Postfix) with ESMTP id 222E886DA7;\n\tTue,  5 Sep 2017 18:47:52 +0000 (UTC)","from fraxinus.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id HqOFjzZ7Hj_r; Tue,  5 Sep 2017 18:47:48 +0000 (UTC)","from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby fraxinus.osuosl.org (Postfix) with ESMTP id E6CFE86DAB;\n\tTue,  5 Sep 2017 18:47:48 +0000 (UTC)","from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138])\n\tby ash.osuosl.org (Postfix) with ESMTP id A99F81C00CC\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tTue,  5 Sep 2017 18:47:47 +0000 (UTC)","from localhost (localhost [127.0.0.1])\n\tby whitealder.osuosl.org (Postfix) with ESMTP id A1D0C8788C\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tTue,  5 Sep 2017 18:47:47 +0000 (UTC)","from whitealder.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id L6YFAIyQ83EH for <intel-wired-lan@lists.osuosl.org>;\n\tTue,  5 Sep 2017 18:47:46 +0000 (UTC)","from mga06.intel.com (mga06.intel.com [134.134.136.31])\n\tby whitealder.osuosl.org (Postfix) with ESMTPS id C66518787C\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tTue,  5 Sep 2017 18:47:46 +0000 (UTC)","from fmsmga001.fm.intel.com ([10.253.24.23])\n\tby orsmga104.jf.intel.com with ESMTP; 05 Sep 2017 11:47:45 -0700","from orsmsx109.amr.corp.intel.com ([10.22.240.7])\n\tby fmsmga001.fm.intel.com with ESMTP; 05 Sep 2017 11:47:45 -0700","from orsmsx104.amr.corp.intel.com ([169.254.4.142]) by\n\tORSMSX109.amr.corp.intel.com ([169.254.11.118]) with mapi id\n\t14.03.0319.002; Tue, 5 Sep 2017 11:47:45 -0700"],"X-Virus-Scanned":["amavisd-new at osuosl.org","amavisd-new at osuosl.org"],"X-Greylist":"domain auto-whitelisted by SQLgrey-1.7.6","X-ExtLoop1":"1","X-IronPort-AV":"E=Sophos; i=\"5.41,480,1498546800\"; d=\"scan'208\";\n\ta=\"1191824425\"","From":"\"Bowers, AndrewX\" <andrewx.bowers@intel.com>","To":"\"intel-wired-lan@lists.osuosl.org\" <intel-wired-lan@lists.osuosl.org>","Thread-Topic":"[Intel-wired-lan] [next PATCH S79-V2 13/13] i40e: ignore\n\tskb->xmit_more when deciding to set RS bit","Thread-Index":"AQHTIO2KQ4/KjGCb0U+brcPvLufqGaKmrP6A","Date":"Tue, 5 Sep 2017 18:47:44 +0000","Message-ID":"<26D9FDECA4FBDD4AADA65D8E2FC68A4A10EA9953@ORSMSX104.amr.corp.intel.com>","References":"<20170829093242.41026-1-alice.michael@intel.com>\n\t<20170829093242.41026-13-alice.michael@intel.com>","In-Reply-To":"<20170829093242.41026-13-alice.michael@intel.com>","Accept-Language":"en-US","Content-Language":"en-US","X-MS-Has-Attach":"","X-MS-TNEF-Correlator":"","x-titus-metadata-40":"eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiOWQzNDNjYjQtNTljMC00MDVkLTg5OGQtZmI3NGRiYmJiOTNmIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE2LjUuOS4zIiwiVHJ1c3RlZExhYmVsSGFzaCI6IkFrVFU4SFNHM29TMjJSeDRnQjFkNWY4SjNKdm45NlRGRjkrYUtKUmk5RE09In0=","x-ctpclassification":"CTP_IC","dlp-product":"dlpe-windows","dlp-version":"11.0.0.116","dlp-reaction":"no-action","x-originating-ip":"[10.22.254.138]","MIME-Version":"1.0","Subject":"Re: [Intel-wired-lan] [next PATCH S79-V2 13/13] i40e:\n\tignore\tskb->xmit_more when deciding to set RS bit","X-BeenThere":"intel-wired-lan@osuosl.org","X-Mailman-Version":"2.1.18-1","Precedence":"list","List-Id":"Intel Wired Ethernet Linux Kernel Driver Development\n\t<intel-wired-lan.osuosl.org>","List-Unsubscribe":"<https://lists.osuosl.org/mailman/options/intel-wired-lan>, \n\t<mailto:intel-wired-lan-request@osuosl.org?subject=unsubscribe>","List-Archive":"<http://lists.osuosl.org/pipermail/intel-wired-lan/>","List-Post":"<mailto:intel-wired-lan@osuosl.org>","List-Help":"<mailto:intel-wired-lan-request@osuosl.org?subject=help>","List-Subscribe":"<https://lists.osuosl.org/mailman/listinfo/intel-wired-lan>, \n\t<mailto:intel-wired-lan-request@osuosl.org?subject=subscribe>","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Errors-To":"intel-wired-lan-bounces@osuosl.org","Sender":"\"Intel-wired-lan\" <intel-wired-lan-bounces@osuosl.org>"}}]