From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id 2239A58D8 for ; Fri, 26 Aug 2016 12:04:26 +0200 (CEST) Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga104.fm.intel.com with ESMTP; 26 Aug 2016 03:04:26 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.28,580,1464678000"; d="scan'208";a="161232419" Received: from irsmsx109.ger.corp.intel.com ([163.33.3.23]) by fmsmga004.fm.intel.com with ESMTP; 26 Aug 2016 03:04:26 -0700 Received: from irsmsx108.ger.corp.intel.com ([169.254.11.71]) by IRSMSX109.ger.corp.intel.com ([169.254.13.24]) with mapi id 14.03.0248.002; Fri, 26 Aug 2016 11:04:24 +0100 From: "Iremonger, Bernard" To: "Lu, Wenzhuo" , "dev@dpdk.org" CC: "De Lara Guarch, Pablo" , "Wu, Jingjing" Thread-Topic: [dpdk-dev] [PATCH] app/testpmd: fix DCB config issue on ixgbe Thread-Index: AQHR7tkwzgh/3Jc9HEiKF7r1kuB6RaBX9MEwgABfmfCAAJ/1gIAAgc4AgAERZICAAJMfIA== Date: Fri, 26 Aug 2016 10:04:23 +0000 Message-ID: <8CEF83825BEC744B83065625E567D7C21A06AC8C@IRSMSX108.ger.corp.intel.com> References: <1470374429-14848-1-git-send-email-wenzhuo.lu@intel.com> <8CEF83825BEC744B83065625E567D7C21A06A32E@IRSMSX108.ger.corp.intel.com> <8CEF83825BEC744B83065625E567D7C21A06A573@IRSMSX108.ger.corp.intel.com> <6A0DE07E22DDAD4C9103DF62FEBC09090349EA68@shsmsx102.ccr.corp.intel.com> <8CEF83825BEC744B83065625E567D7C21A06A70A@IRSMSX108.ger.corp.intel.com> <6A0DE07E22DDAD4C9103DF62FEBC09090349EFA0@shsmsx102.ccr.corp.intel.com> In-Reply-To: <6A0DE07E22DDAD4C9103DF62FEBC09090349EFA0@shsmsx102.ccr.corp.intel.com> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNjVkMzJjY2QtNjUxYS00NjFiLThmYzMtNWJkOTlmZmM4ZDMxIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE1LjkuNi42IiwiVHJ1c3RlZExhYmVsSGFzaCI6InpVQXp6RnhCdEZnRmJJTHRqdUl4UHNadVE2QUJjYVNDbXVSaFo5anpaQ1E9In0= x-ctpclassification: CTP_IC 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] app/testpmd: fix DCB config issue on ixgbe 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: Fri, 26 Aug 2016 10:04:27 -0000 Hi Wenzhuo, > > > > If nb_rxq and nb_txq are set to max_rx_queues and max_tx_queues > > > > respectively, there is a failure when the port is started in > > > > ixgbe_check_mq_mode() at line > > > > 1990 in ixgbe_ethdev.c. > > > > SRIOV is active, nb_rx_q=3D128 nb_tx_q=3D128 queue number must be l= ess > > > > than or equal to 1. > > > I haven't hit this issue. Would you like to give more details about > > > how to hit it? I'll check if I miss something. > > > > There is a Niantic PF and VF bound to igb_uio. Port 0 is the PF and > > Port 1 is the VF. > > ./testpmd -c 3f -l 1-5 -n 4 -- -i > > testpmd> set corelist 2,3,4,5 > > testpmd> port stop 0 /* PF is 0 */ > > testpmd> port config 0 dcb vt on 4 pfc on port start 0 /* PF is 0 */ > > line 1990 ixgbe_ethdev.c > > SRIOV is active, nb_rx_q=3D128 nb_tx_q=3D128 queue number must be less > > than or equal to 1. > > /* Works if nb_rx_q and nb_tx_q set to 1 */ > To my opinion, it's a by-design limitation. After using the DCB configura= tion > CLI, the queue number is set to a fix number which is the max number. But > as you pointed, when SRIOV is active there's another requirement for the > queue number. > We need to investigate deeper and find a solution for it. But I think it'= s > another story. We need another patch for it. Line 1997 in testpmd.c 1997 if (dcb_mode =3D=3D DCB_VT_ENABLED) { nb_rxq =3D rte_port->dev_info.max_rx_queues; nb_txq =3D rte_port->dev_info.max_tx_queues; } else { 2001 /*if vt is disabled, use all pf queues */ if (rte_port->dev_info.vmdq_pool_base =3D=3D 0) { nb_rxq =3D rte_port->dev_info.max_rx_queues; nb_txq =3D rte_port->dev_info.max_tx_queues; } else { nb_rxq =3D (queueid_t)num_tcs; nb_txq =3D (queueid_t)num_tcs; } } The comment at line 2001 implies that when dcb_mode is DCB_VT_ENABLED all p= f queues should not be used. When dcb_mode is DCB_VT_ENABLED, setting nb_rxq and nb_txq equal to 1 works= when the PF (port 0) is started. When dcb_mode is DCB_VT_ENABLED, setting nb_rxq to max_rx_queues and nb_txq= to max_tx_queues results in the following failure in ixgbe when the PF (po= rt 0) is started. SRIOV is active, nb_rx_q=3D128 nb_tx_q=3D128 queue number must be less than= or equal to 1. =20 Regards, Bernard