From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id 19E8F695D for ; Thu, 7 Jun 2018 15:16:22 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 07 Jun 2018 06:16:21 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.49,486,1520924400"; d="scan'208";a="230692481" Received: from fmsmsx106.amr.corp.intel.com ([10.18.124.204]) by orsmga005.jf.intel.com with ESMTP; 07 Jun 2018 06:16:21 -0700 Received: from fmsmsx113.amr.corp.intel.com (10.18.116.7) by FMSMSX106.amr.corp.intel.com (10.18.124.204) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 7 Jun 2018 06:16:20 -0700 Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by FMSMSX113.amr.corp.intel.com (10.18.116.7) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 7 Jun 2018 06:16:20 -0700 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.51]) by SHSMSX151.ccr.corp.intel.com ([169.254.3.116]) with mapi id 14.03.0319.002; Thu, 7 Jun 2018 21:16:18 +0800 From: "Zhang, Qi Z" To: "Xing, Beilei" CC: "Wu, Jingjing" , "Yu, De" , "dev@dpdk.org" Thread-Topic: [PATCH] net/i40e: remove VF interrupt handler Thread-Index: AQHT/f9LB7CrR3sSG0+4jZBfirhHpqRT3CGAgADrLTA= Date: Thu, 7 Jun 2018 13:16:18 +0000 Message-ID: <039ED4275CED7440929022BC67E7061153233855@SHSMSX103.ccr.corp.intel.com> References: <20180607013156.28763-1-qi.z.zhang@intel.com> <94479800C636CB44BD422CB454846E01321C67FF@SHSMSX101.ccr.corp.intel.com> In-Reply-To: <94479800C636CB44BD422CB454846E01321C67FF@SHSMSX101.ccr.corp.intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNzBiZjY2ZjItMGQ1Ni00ZjlkLTg0YjQtMzkxNDVkMDRkMGY4IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiZXFpT0tTMGRlbE5hU1VvakttcG1RdXRNN1NNbktQemMybXp4QVRKYWMzZ09hQW80dG5sWjM1azdtK1ZkRlZabCJ9 x-ctpclassification: CTP_NT dlp-product: dlpe-windows dlp-version: 11.0.200.100 dlp-reaction: no-action x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH] net/i40e: remove VF interrupt handler X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 07 Jun 2018 13:16:23 -0000 > -----Original Message----- > From: Xing, Beilei > Sent: Thursday, June 7, 2018 3:14 PM > To: Zhang, Qi Z > Cc: Wu, Jingjing ; Yu, De ; > dev@dpdk.org > Subject: RE: [PATCH] net/i40e: remove VF interrupt handler >=20 >=20 >=20 > > -----Original Message----- > > From: Zhang, Qi Z > > Sent: Thursday, June 7, 2018 9:32 AM > > To: Xing, Beilei > > Cc: Wu, Jingjing ; Yu, De ; > > dev@dpdk.org; Zhang, Qi Z > > Subject: [PATCH] net/i40e: remove VF interrupt handler > > > > For i40evf, internal rx interrupt and adminq interrupt share the same > > source, that cause a lot cpu cycles be wasted on interrupt handler on > > rx path. This is complained by customers which require low latency > > (when set I40E_ITR_INTERVAL to small value), but have to be sufferred > > by tremendous interrupts handling that eat significant CPU resources. > > > > The patch disable pci interrupt and remove the interrupt handler, > > replace it with a low frequency (50ms) interrupt polling daemon which > > is implemented by registering a alarm callback periodly, this save CPU > > time significently: On a typical x86 server with 2.1GHz CPU, with low > > latency configure (32us) we saw CPU usage from top commmand reduced > > from 20% to 0% on management core in testpmd). > > > > Also with the new method we can remove compile option: > > I40E_ITR_INTERVAL which is used to balance between low latency and low > > CPU usage previously. > > Now we don't need it since we can reach both at same time. > > > > Suggested-by: Jingjing Wu > > Signed-off-by: Qi Zhang > > --- > > config/common_base | 2 -- > > drivers/net/i40e/i40e_ethdev.c | 3 +-- > > drivers/net/i40e/i40e_ethdev.h | 22 +++++++++++----------- > > drivers/net/i40e/i40e_ethdev_vf.c | 36 > > ++++++++++++++---------------------- > > 4 files changed, 26 insertions(+), 37 deletions(-) > > > > diff --git a/config/common_base b/config/common_base index > > 6b0d1cbbb..9e21c6865 100644 > > --- a/config/common_base > > +++ b/config/common_base > > @@ -264,8 +264,6 @@ CONFIG_RTE_LIBRTE_I40E_INC_VECTOR=3Dy > > CONFIG_RTE_LIBRTE_I40E_16BYTE_RX_DESC=3Dn > > CONFIG_RTE_LIBRTE_I40E_QUEUE_NUM_PER_PF=3D64 > > CONFIG_RTE_LIBRTE_I40E_QUEUE_NUM_PER_VM=3D4 > > -# interval up to 8160 us, aligned to 2 (or default value) > > -CONFIG_RTE_LIBRTE_I40E_ITR_INTERVAL=3D-1 >=20 > Then description about CONFIG_RTE_LIBRTE_I40E_ITR_INTERVAL in > documentation should also be removed. Good capture, will fix this in v2 Thanks Qi >=20 > Beilei