DPDK patches and discussions
 help / color / mirror / Atom feed
* [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).