From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id C26D35942 for ; Wed, 7 Jan 2015 02:50:28 +0100 (CET) Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga101.fm.intel.com with ESMTP; 06 Jan 2015 17:50:27 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.07,711,1413270000"; d="scan'208";a="633506845" Received: from pgsmsx103.gar.corp.intel.com ([10.221.44.82]) by orsmga001.jf.intel.com with ESMTP; 06 Jan 2015 17:50:24 -0800 Received: from shsmsx103.ccr.corp.intel.com (10.239.110.14) by PGSMSX103.gar.corp.intel.com (10.221.44.82) with Microsoft SMTP Server (TLS) id 14.3.195.1; Wed, 7 Jan 2015 09:50:21 +0800 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.216]) by SHSMSX103.ccr.corp.intel.com ([169.254.4.240]) with mapi id 14.03.0195.001; Wed, 7 Jan 2015 09:50:20 +0800 From: "Ouyang, Changchun" To: Vlad Zolotarov , "dev@dpdk.org" Thread-Topic: [dpdk-dev] [PATCH v4 6/6] testpmd: Set Rx VMDq RSS mode Thread-Index: AQHQJ+7Jp8U/K7/F20SklzBchptxdpyvILoAgACJDKD//4b2gIABngWw///7dICAAY3uQIAAMWYAgAFagLA= Date: Wed, 7 Jan 2015 01:50:19 +0000 Message-ID: References: <1419398584-19520-1-git-send-email-changchun.ouyang@intel.com> <1420355937-18484-1-git-send-email-changchun.ouyang@intel.com> <1420355937-18484-7-git-send-email-changchun.ouyang@intel.com> <54A8FE9A.60606@cloudius-systems.com> <54A90C07.5090507@cloudius-systems.com> <54AA6385.7020009@cloudius-systems.com> <54ABDAC4.40506@cloudius-systems.com> In-Reply-To: <54ABDAC4.40506@cloudius-systems.com> Accept-Language: zh-CN, 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 v4 6/6] testpmd: Set Rx VMDq RSS mode 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: Wed, 07 Jan 2015 01:50:29 -0000 > -----Original Message----- > From: Vlad Zolotarov [mailto:vladz@cloudius-systems.com] > Sent: Tuesday, January 6, 2015 8:53 PM > To: Ouyang, Changchun; dev@dpdk.org > Subject: Re: [dpdk-dev] [PATCH v4 6/6] testpmd: Set Rx VMDq RSS mode >=20 >=20 > On 01/06/15 04:01, Ouyang, Changchun wrote: > > > >> -----Original Message----- > >> From: Vlad Zolotarov [mailto:vladz@cloudius-systems.com] > >> Sent: Monday, January 5, 2015 6:12 PM > >> To: Ouyang, Changchun; dev@dpdk.org > >> Subject: Re: [dpdk-dev] [PATCH v4 6/6] testpmd: Set Rx VMDq RSS mode > >> > >> > >> On 01/05/15 04:38, Ouyang, Changchun wrote: > >>>> -----Original Message----- > >>>> From: Vlad Zolotarov [mailto:vladz@cloudius-systems.com] > >>>> Sent: Sunday, January 4, 2015 5:47 PM > >>>> To: Ouyang, Changchun; dev@dpdk.org > >>>> Subject: Re: [dpdk-dev] [PATCH v4 6/6] testpmd: Set Rx VMDq RSS > >>>> mode > >>>> > >>>> > >>>> On 01/04/15 11:01, Ouyang, Changchun wrote: > >>>>>> -----Original Message----- > >>>>>> From: Vlad Zolotarov [mailto:vladz@cloudius-systems.com] > >>>>>> Sent: Sunday, January 4, 2015 4:50 PM > >>>>>> To: Ouyang, Changchun; dev@dpdk.org > >>>>>> Subject: Re: [dpdk-dev] [PATCH v4 6/6] testpmd: Set Rx VMDq RSS > >>>>>> mode > >>>>>> > >>>>>> > >>>>>> On 01/04/15 09:18, Ouyang Changchun wrote: > >>>>>>> Set VMDq RSS mode if it has VF(VF number is more than 1) and has > >>>>>>> RSS > >>>>>> information. > >>>>>>> Signed-off-by: Changchun Ouyang > >>>>>>> --- > >>>>>>> app/test-pmd/testpmd.c | 10 ++++++++++ > >>>>>>> 1 file changed, 10 insertions(+) > >>>>>>> > >>>>>>> diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c > >>>>>>> index 8c69756..6230f8b 100644 > >>>>>>> --- a/app/test-pmd/testpmd.c > >>>>>>> +++ b/app/test-pmd/testpmd.c > >>>>>>> @@ -1708,6 +1708,16 @@ init_port_config(void) > >>>>>>> port->dev_conf.rxmode.mq_mode =3D > >>>>>> ETH_MQ_RX_NONE; > >>>>>>> } > >>>>>>> > >>>>>>> + if (port->dev_info.max_vfs !=3D 0) { > >>>>>>> + if (port- > >>> dev_conf.rx_adv_conf.rss_conf.rss_hf !=3D 0) > >>>>>>> + port->dev_conf.rxmode.mq_mode =3D > >>>>>>> + ETH_MQ_RX_VMDQ_RSS; > >>>>>>> + else { > >>>>>>> + port->dev_conf.rxmode.mq_mode =3D > >>>>>> ETH_MQ_RX_NONE; > >>>>>>> + port->dev_conf.txmode.mq_mode =3D > >>>>>> ETH_MQ_TX_NONE; > >>>>>> > >>>>>> And what about the txmode.mq_mode when RSS is available > (the :if" > >>>> clause)? > >>>>> I think we can keep its original value for txmode.mq_mode, so > >>>>> don't > >>>> change its value. How do you think of it? > >>>> > >>>> I agree that not changing a Tx mq_mode in both cases would be better= . > >>> In the else clause, set txmode.mq_mode as ETH_MQ_TX_NONE > explicitly > >> to > >>> make sure it is neither ETH_MQ_TX_DCB, ETH_MQ_TX_VMDQ_DCB, nor > >> ETH_MQ_TX_VMDQ_ONLY. > >> > >> It's not obvious to me why u should do that since AFAIK any of these > >> modes requires RX_RSS. Do I miss anything? > > No, I don't think so, in the else clause, it doesn't need rx_rss, and > > no way to do it, because the case is there is no rss configuration > information(note: in the else clause, dev_conf.rx_adv_conf.rss_conf.rss_h= f > =3D=3D 0). > > > > So ETH_MQ_RX_NONE for rx_mode, and ETH_MQ_TX_NONE for tx_mode. >=20 > Of course, however, in general, one may ask, why u configure TX MQ mode > in "else" clause an don't do it in the "if" one. Possibly the "if" case i= n TX MQ > context has been handled elsewhere but this is what makes this code > confusing: to make it the most readable u'd rather configure the same > feature set in both "if" and "else". > For instance: >=20 > if (bla-bla) { > tx_mode =3D X1; > rx_mode =3D X2; > } else { > tx_mode =3D Y1; > rx_mode =3D Y2; > } >=20 > Look at the non-SR-IOV clause right above the "if-else" block u've added. > Why don't they configure tx_mode there? Is it a bug in their code? It also makes sense, I will add tx_mode =3D ETH_MQ_TX_NONE as no rss for = tx mode, Rss only for rx mode. > By the way, u forgot to fix the remark below >=20 > /* In SR-IOV mode, RSS mode is not available */ >=20 > which is located a few lines above the code u've added. ;) Sorry, I missed these few lines before, I will remove them in v5.=20 Thanks Changchun