* [dpdk-dev] [PATCH] app/testpmd: fix set Rx offloads RSS hash off @ 2021-11-03 3:07 Jie Wang 2021-11-04 9:29 ` [dpdk-dev] [PATCH v2] " Jie Wang 0 siblings, 1 reply; 5+ messages in thread From: Jie Wang @ 2021-11-03 3:07 UTC (permalink / raw) To: dev Cc: yuying.zhang, xiaoyun.li, stevex.yang, junfeng.guo, qi.z.zhang, Jie Wang When we set Rx offloads RSS hash off in cmdline, then we start port, if dev->data->dev_conf.rxmode.mq_mode RSS enable(multiple queues mode), it will load RSS hash in driver and sync to port. After setting Rx offloads RSS hash off, this patch removes RTE_ETH_MQ_RX_RSS in port->dev_conf.rxmode.mq_mode to fix this issue. Fixes: c73a9071877a ("app/testpmd: add commands to test new offload API") Signed-off-by: Jie Wang <jie1x.wang@intel.com> --- app/test-pmd/cmdline.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c index d08a1c9777..63b60f196e 100644 --- a/app/test-pmd/cmdline.c +++ b/app/test-pmd/cmdline.c @@ -16180,6 +16180,9 @@ cmd_config_per_port_rx_offload_parsed(void *parsed_result, port->dev_conf.rxmode.offloads &= ~single_offload; for (q = 0; q < nb_rx_queues; q++) port->rx_conf[q].offloads &= ~single_offload; + + if (single_offload & 0x80000) + port->dev_conf.rxmode.mq_mode &= ~RTE_ETH_MQ_RX_RSS; } cmd_reconfig_device_queue(port_id, 1, 1); -- 2.25.1 ^ permalink raw reply [flat|nested] 5+ messages in thread
* [dpdk-dev] [PATCH v2] app/testpmd: fix set Rx offloads RSS hash off 2021-11-03 3:07 [dpdk-dev] [PATCH] app/testpmd: fix set Rx offloads RSS hash off Jie Wang @ 2021-11-04 9:29 ` Jie Wang 2021-11-05 16:24 ` Ferruh Yigit 0 siblings, 1 reply; 5+ messages in thread From: Jie Wang @ 2021-11-04 9:29 UTC (permalink / raw) To: dev Cc: yuying.zhang, xiaoyun.li, stevex.yang, junfeng.guo, qi.z.zhang, Jie Wang When we set Rx offloads RSS hash off in cmdline, then we start port, if dev->data->dev_conf.rxmode.mq_mode RSS enable(multiple queues mode), it will load RSS hash in driver and sync to port. After setting Rx offloads RSS hash off, this patch removes RTE_ETH_MQ_RX_RSS in port->dev_conf.rxmode.mq_mode to fix this issue. And after setting Rx offloads RSS hash on, this patch also adds RTE_ETH_MQ_RX_RSS in port->dev_conf.rxmode.mq_mode. Fixes: c73a9071877a ("app/testpmd: add commands to test new offload API") Signed-off-by: Jie Wang <jie1x.wang@intel.com> --- app/test-pmd/cmdline.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c index d08a1c9777..f8277e4443 100644 --- a/app/test-pmd/cmdline.c +++ b/app/test-pmd/cmdline.c @@ -16176,10 +16176,16 @@ cmd_config_per_port_rx_offload_parsed(void *parsed_result, port->dev_conf.rxmode.offloads |= single_offload; for (q = 0; q < nb_rx_queues; q++) port->rx_conf[q].offloads |= single_offload; + + if (single_offload & 0x80000) + port->dev_conf.rxmode.mq_mode |= RTE_ETH_MQ_RX_RSS; } else { port->dev_conf.rxmode.offloads &= ~single_offload; for (q = 0; q < nb_rx_queues; q++) port->rx_conf[q].offloads &= ~single_offload; + + if (single_offload & 0x80000) + port->dev_conf.rxmode.mq_mode &= ~RTE_ETH_MQ_RX_RSS; } cmd_reconfig_device_queue(port_id, 1, 1); -- 2.25.1 ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [dpdk-dev] [PATCH v2] app/testpmd: fix set Rx offloads RSS hash off 2021-11-04 9:29 ` [dpdk-dev] [PATCH v2] " Jie Wang @ 2021-11-05 16:24 ` Ferruh Yigit 2021-11-08 7:24 ` Wang, Jie1X 0 siblings, 1 reply; 5+ messages in thread From: Ferruh Yigit @ 2021-11-05 16:24 UTC (permalink / raw) To: Jie Wang, dev Cc: yuying.zhang, xiaoyun.li, stevex.yang, junfeng.guo, qi.z.zhang On 11/4/2021 9:29 AM, Jie Wang wrote: > When we set Rx offloads RSS hash off in cmdline, then we start > port, if dev->data->dev_conf.rxmode.mq_mode RSS enable(multiple > queues mode), it will load RSS hash in driver and sync to port. > > After setting Rx offloads RSS hash off, this patch removes > RTE_ETH_MQ_RX_RSS in port->dev_conf.rxmode.mq_mode to fix this issue. > > And after setting Rx offloads RSS hash on, this patch also adds > RTE_ETH_MQ_RX_RSS in port->dev_conf.rxmode.mq_mode. > > Fixes: c73a9071877a ("app/testpmd: add commands to test new offload API") > > Signed-off-by: Jie Wang <jie1x.wang@intel.com> > --- > app/test-pmd/cmdline.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c > index d08a1c9777..f8277e4443 100644 > --- a/app/test-pmd/cmdline.c > +++ b/app/test-pmd/cmdline.c > @@ -16176,10 +16176,16 @@ cmd_config_per_port_rx_offload_parsed(void *parsed_result, > port->dev_conf.rxmode.offloads |= single_offload; > for (q = 0; q < nb_rx_queues; q++) > port->rx_conf[q].offloads |= single_offload; > + > + if (single_offload & 0x80000) I don't why you used immediate value, but you mean 'RTE_ETH_RX_OFFLOAD_RSS_HASH' here. > + port->dev_conf.rxmode.mq_mode |= RTE_ETH_MQ_RX_RSS; Why enabling RSS when 'RSS HASH' offload is enabled? In this case if RSS is disabled I think it should fail. Can you please describe again what problem you are solving? > } else { > port->dev_conf.rxmode.offloads &= ~single_offload; > for (q = 0; q < nb_rx_queues; q++) > port->rx_conf[q].offloads &= ~single_offload; > + > + if (single_offload & 0x80000) > + port->dev_conf.rxmode.mq_mode &= ~RTE_ETH_MQ_RX_RSS; > } > > cmd_reconfig_device_queue(port_id, 1, 1); > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [dpdk-dev] [PATCH v2] app/testpmd: fix set Rx offloads RSS hash off 2021-11-05 16:24 ` Ferruh Yigit @ 2021-11-08 7:24 ` Wang, Jie1X 2021-11-08 9:02 ` Ferruh Yigit 0 siblings, 1 reply; 5+ messages in thread From: Wang, Jie1X @ 2021-11-08 7:24 UTC (permalink / raw) To: Yigit, Ferruh, dev Cc: Zhang, Yuying, Li, Xiaoyun, Yang, SteveX, Guo, Junfeng, Zhang, Qi Z > -----Original Message----- > From: Yigit, Ferruh <ferruh.yigit@intel.com> > Sent: Saturday, November 6, 2021 12:24 AM > To: Wang, Jie1X <jie1x.wang@intel.com>; dev@dpdk.org > Cc: Zhang, Yuying <yuying.zhang@intel.com>; Li, Xiaoyun > <xiaoyun.li@intel.com>; Yang, SteveX <stevex.yang@intel.com>; Guo, Junfeng > <junfeng.guo@intel.com>; Zhang, Qi Z <qi.z.zhang@intel.com> > Subject: Re: [dpdk-dev] [PATCH v2] app/testpmd: fix set Rx offloads RSS hash off > > On 11/4/2021 9:29 AM, Jie Wang wrote: > > When we set Rx offloads RSS hash off in cmdline, then we start port, > > if dev->data->dev_conf.rxmode.mq_mode RSS enable(multiple queues > > mode), it will load RSS hash in driver and sync to port. > > > > After setting Rx offloads RSS hash off, this patch removes > > RTE_ETH_MQ_RX_RSS in port->dev_conf.rxmode.mq_mode to fix this issue. > > > > And after setting Rx offloads RSS hash on, this patch also adds > > RTE_ETH_MQ_RX_RSS in port->dev_conf.rxmode.mq_mode. > > > > Fixes: c73a9071877a ("app/testpmd: add commands to test new offload > > API") > > > > Signed-off-by: Jie Wang <jie1x.wang@intel.com> > > --- > > app/test-pmd/cmdline.c | 6 ++++++ > > 1 file changed, 6 insertions(+) > > > > diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c index > > d08a1c9777..f8277e4443 100644 > > --- a/app/test-pmd/cmdline.c > > +++ b/app/test-pmd/cmdline.c > > @@ -16176,10 +16176,16 @@ cmd_config_per_port_rx_offload_parsed(void > *parsed_result, > > port->dev_conf.rxmode.offloads |= single_offload; > > for (q = 0; q < nb_rx_queues; q++) > > port->rx_conf[q].offloads |= single_offload; > > + > > + if (single_offload & 0x80000) > > I don't why you used immediate value, but you mean > 'RTE_ETH_RX_OFFLOAD_RSS_HASH' here. > I will update it in next version. > > + port->dev_conf.rxmode.mq_mode |= > RTE_ETH_MQ_RX_RSS; > > Why enabling RSS when 'RSS HASH' offload is enabled? In this case if RSS is > disabled I think it should fail. > > Can you please describe again what problem you are solving? > If 'RSS HASH' offload is disabled in the first, the mq_mode RSS is disabled. Then 'RSS HASH' offload is enabled in the second, so that we should enable RSS here. > > } else { > > port->dev_conf.rxmode.offloads &= ~single_offload; > > for (q = 0; q < nb_rx_queues; q++) > > port->rx_conf[q].offloads &= ~single_offload; > > + > > + if (single_offload & 0x80000) > > + port->dev_conf.rxmode.mq_mode &= > ~RTE_ETH_MQ_RX_RSS; When 'RSS HASH' offload is disabled, that mq_mode RSS should be disabled too. So that it will not enable 'RSS HASH' offload in driver. > > } > > > > cmd_reconfig_device_queue(port_id, 1, 1); > > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [dpdk-dev] [PATCH v2] app/testpmd: fix set Rx offloads RSS hash off 2021-11-08 7:24 ` Wang, Jie1X @ 2021-11-08 9:02 ` Ferruh Yigit 0 siblings, 0 replies; 5+ messages in thread From: Ferruh Yigit @ 2021-11-08 9:02 UTC (permalink / raw) To: Wang, Jie1X, dev Cc: Zhang, Yuying, Li, Xiaoyun, Yang, SteveX, Guo, Junfeng, Zhang, Qi Z On 11/8/2021 7:24 AM, Wang, Jie1X wrote: > > >> -----Original Message----- >> From: Yigit, Ferruh <ferruh.yigit@intel.com> >> Sent: Saturday, November 6, 2021 12:24 AM >> To: Wang, Jie1X <jie1x.wang@intel.com>; dev@dpdk.org >> Cc: Zhang, Yuying <yuying.zhang@intel.com>; Li, Xiaoyun >> <xiaoyun.li@intel.com>; Yang, SteveX <stevex.yang@intel.com>; Guo, Junfeng >> <junfeng.guo@intel.com>; Zhang, Qi Z <qi.z.zhang@intel.com> >> Subject: Re: [dpdk-dev] [PATCH v2] app/testpmd: fix set Rx offloads RSS hash off >> >> On 11/4/2021 9:29 AM, Jie Wang wrote: >>> When we set Rx offloads RSS hash off in cmdline, then we start port, >>> if dev->data->dev_conf.rxmode.mq_mode RSS enable(multiple queues >>> mode), it will load RSS hash in driver and sync to port. >>> >>> After setting Rx offloads RSS hash off, this patch removes >>> RTE_ETH_MQ_RX_RSS in port->dev_conf.rxmode.mq_mode to fix this issue. >>> >>> And after setting Rx offloads RSS hash on, this patch also adds >>> RTE_ETH_MQ_RX_RSS in port->dev_conf.rxmode.mq_mode. >>> >>> Fixes: c73a9071877a ("app/testpmd: add commands to test new offload >>> API") >>> >>> Signed-off-by: Jie Wang <jie1x.wang@intel.com> >>> --- >>> app/test-pmd/cmdline.c | 6 ++++++ >>> 1 file changed, 6 insertions(+) >>> >>> diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c index >>> d08a1c9777..f8277e4443 100644 >>> --- a/app/test-pmd/cmdline.c >>> +++ b/app/test-pmd/cmdline.c >>> @@ -16176,10 +16176,16 @@ cmd_config_per_port_rx_offload_parsed(void >> *parsed_result, >>> port->dev_conf.rxmode.offloads |= single_offload; >>> for (q = 0; q < nb_rx_queues; q++) >>> port->rx_conf[q].offloads |= single_offload; >>> + >>> + if (single_offload & 0x80000) >> >> I don't why you used immediate value, but you mean >> 'RTE_ETH_RX_OFFLOAD_RSS_HASH' here. >> > > I will update it in next version. > >>> + port->dev_conf.rxmode.mq_mode |= >> RTE_ETH_MQ_RX_RSS; >> >> Why enabling RSS when 'RSS HASH' offload is enabled? In this case if RSS is >> disabled I think it should fail. >> >> Can you please describe again what problem you are solving? >> > > If 'RSS HASH' offload is disabled in the first, the mq_mode RSS is disabled. > Then 'RSS HASH' offload is enabled in the second, so that we should enable RSS here. > >>> } else { >>> port->dev_conf.rxmode.offloads &= ~single_offload; >>> for (q = 0; q < nb_rx_queues; q++) >>> port->rx_conf[q].offloads &= ~single_offload; >>> + >>> + if (single_offload & 0x80000) >>> + port->dev_conf.rxmode.mq_mode &= >> ~RTE_ETH_MQ_RX_RSS; > > When 'RSS HASH' offload is disabled, that mq_mode RSS should be disabled too. So that it will not enable 'RSS HASH' offload in driver. > I am not clear with this statement. "RSS HASH" can be disabled without disabling 'RSS', indeed that is the reason to have this offload. And most of the Intel NICs don't support disabling "RSS HASH" anyway. Again, can you please clarify the real problem you are solving? ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2021-11-08 9:02 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-11-03 3:07 [dpdk-dev] [PATCH] app/testpmd: fix set Rx offloads RSS hash off Jie Wang 2021-11-04 9:29 ` [dpdk-dev] [PATCH v2] " Jie Wang 2021-11-05 16:24 ` Ferruh Yigit 2021-11-08 7:24 ` Wang, Jie1X 2021-11-08 9:02 ` Ferruh Yigit
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).