From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by dpdk.org (Postfix) with ESMTP id 20EB96CC4 for ; Thu, 7 Jun 2018 09:14:10 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 07 Jun 2018 00:14:08 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.49,486,1520924400"; d="scan'208";a="45932016" Received: from fmsmsx108.amr.corp.intel.com ([10.18.124.206]) by fmsmga008.fm.intel.com with ESMTP; 07 Jun 2018 00:14:08 -0700 Received: from fmsmsx118.amr.corp.intel.com (10.18.116.18) by FMSMSX108.amr.corp.intel.com (10.18.124.206) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 7 Jun 2018 00:14:07 -0700 Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by fmsmsx118.amr.corp.intel.com (10.18.116.18) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 7 Jun 2018 00:14:07 -0700 Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.82]) by SHSMSX151.ccr.corp.intel.com ([169.254.3.116]) with mapi id 14.03.0319.002; Thu, 7 Jun 2018 15:14:05 +0800 From: "Xing, Beilei" To: "Zhang, Qi Z" CC: "Wu, Jingjing" , "Yu, De" , "dev@dpdk.org" Thread-Topic: [PATCH] net/i40e: remove VF interrupt handler Thread-Index: AQHT/f9MV/He1TOWkEKDhN7Z0IpeGKRUYfLw Date: Thu, 7 Jun 2018 07:14:05 +0000 Message-ID: <94479800C636CB44BD422CB454846E01321C67FF@SHSMSX101.ccr.corp.intel.com> References: <20180607013156.28763-1-qi.z.zhang@intel.com> In-Reply-To: <20180607013156.28763-1-qi.z.zhang@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: 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 07:14:11 -0000 > -----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 >=20 > For i40evf, internal rx interrupt and adminq interrupt share the same sou= rce, > that cause a lot cpu cycles be wasted on interrupt handler on rx path. Th= is 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. >=20 > 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 significentl= y: 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). >=20 > 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. >=20 > 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(-) >=20 > 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 Then description about CONFIG_RTE_LIBRTE_I40E_ITR_INTERVAL in documentation= should also be removed. Beilei