From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id D173358EF for ; Mon, 28 Sep 2015 01:19:22 +0200 (CEST) Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga102.fm.intel.com with ESMTP; 27 Sep 2015 16:19:23 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.17,599,1437462000"; d="scan'208";a="778585001" Received: from irsmsx110.ger.corp.intel.com ([163.33.3.25]) by orsmga001.jf.intel.com with ESMTP; 27 Sep 2015 16:19:20 -0700 Received: from irsmsx155.ger.corp.intel.com (163.33.192.3) by irsmsx110.ger.corp.intel.com (163.33.3.25) with Microsoft SMTP Server (TLS) id 14.3.248.2; Mon, 28 Sep 2015 00:19:20 +0100 Received: from irsmsx105.ger.corp.intel.com ([169.254.7.252]) by irsmsx155.ger.corp.intel.com ([169.254.14.173]) with mapi id 14.03.0248.002; Mon, 28 Sep 2015 00:19:19 +0100 From: "Ananyev, Konstantin" To: Zoltan Kiss , "Richardson, Bruce" , "dev@dpdk.org" Thread-Topic: [PATCH] ixgbe: prefetch packet headers in vector PMD receive function Thread-Index: AQHQ5OrcDMYVDKIQM0OQ/IGpqZ+dT54w9hQAgAAIuYCAABXhgIAAByoAgByJi4CAA4aAcA== Date: Sun, 27 Sep 2015 23:19:19 +0000 Message-ID: <2601191342CEEE43887BDE71AB97725836A9CE89@irsmsx105.ger.corp.intel.com> References: <1441135036-7491-1-git-send-email-zoltan.kiss@linaro.org> <55ED8252.1020900@linaro.org> <59AF69C657FD0841A61C55336867B5B0359227DF@IRSMSX103.ger.corp.intel.com> <55ED9BFD.7040009@linaro.org> <59AF69C657FD0841A61C55336867B5B035922A83@IRSMSX103.ger.corp.intel.com> <56059255.5010507@linaro.org> In-Reply-To: <56059255.5010507@linaro.org> Accept-Language: en-IE, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [163.33.239.181] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH] ixgbe: prefetch packet headers in vector PMD receive function X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Sep 2015 23:19:23 -0000 > -----Original Message----- > From: Zoltan Kiss [mailto:zoltan.kiss@linaro.org] > Sent: Friday, September 25, 2015 7:29 PM > To: Richardson, Bruce; dev@dpdk.org > Cc: Ananyev, Konstantin > Subject: Re: [PATCH] ixgbe: prefetch packet headers in vector PMD receive= function >=20 > On 07/09/15 07:41, Richardson, Bruce wrote: > > > >> -----Original Message----- > >> From: Zoltan Kiss [mailto:zoltan.kiss@linaro.org] > >> Sent: Monday, September 7, 2015 3:15 PM > >> To: Richardson, Bruce; dev@dpdk.org > >> Cc: Ananyev, Konstantin > >> Subject: Re: [PATCH] ixgbe: prefetch packet headers in vector PMD rece= ive > >> function > >> > >> > >> > >> On 07/09/15 13:57, Richardson, Bruce wrote: > >>> > >>>> -----Original Message----- > >>>> From: Zoltan Kiss [mailto:zoltan.kiss@linaro.org] > >>>> Sent: Monday, September 7, 2015 1:26 PM > >>>> To: dev@dpdk.org > >>>> Cc: Ananyev, Konstantin; Richardson, Bruce > >>>> Subject: Re: [PATCH] ixgbe: prefetch packet headers in vector PMD > >>>> receive function > >>>> > >>>> Hi, > >>>> > >>>> I just realized I've missed the "[PATCH]" tag from the subject. Did > >>>> anyone had time to review this? > >>>> > >>> Hi Zoltan, > >>> > >>> the big thing that concerns me with this is the addition of new > >>> instructions for each packet in the fast path. Ideally, this > >>> prefetching would be better handled in the application itself, as for > >>> some apps, e.g. those using pipelining, the core doing the RX from th= e > >>> NIC may not touch the packet data at all, and the prefetches will > >> instead cause a performance slowdown. > >>> Is it possible to get the same performance increase - or something > >>> close to it - by making changes in OVS? > >> OVS already does a prefetch when it's processing the previous packet, = but > >> apparently it's not early enough. At least for my test scenario, where= I'm > >> forwarding UDP packets with the least possible overhead. I guess in te= sts > >> where OVS does more complex processing it should be fine. > >> I'll try to move the prefetch earlier in OVS codebase, but I'm not sur= e if > >> it'll help. > > I would suggest trying to prefetch more than one packet ahead. Prefetch= ing 4 or > > 8 ahead might work better, depending on the processing being done. >=20 > I've moved the prefetch earlier, and it seems to work: >=20 > https://patchwork.ozlabs.org/patch/519017/ >=20 > However it raises the question: should we remove header prefetch from > all the other drivers, and the CONFIG_RTE_PMD_PACKET_PREFETCH option? My vote would be for that. Konstantin >=20 > > > > /Bruce