[v2,1/3] examples/flow_classify: fix check of port and core

Message ID 1618988423-5034-2-git-send-email-humin29@huawei.com (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers
Series fix check of port and core |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

humin (Q) April 21, 2021, 7 a.m. UTC
  According to the comments and logging, the author just hope user to use
the core and device which are in the same numa node for optimal
performance. If not, A warning gives out.

For example in flow_classify:
./build/flow_classify -w 0000:7d:00.1  -l 93
Here:
0000:7d:00.1 is on numa node 0.
core 93  is on numa node 3.

The two are not in same numa node, but no warning gives out in old codes.

This patch can fix it.

Fixes: bab16ddaf2c1 ("examples/flow_classify: add sample application")
Cc: stable@dpdk.org

Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
---
 examples/flow_classify/flow_classify.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Iremonger, Bernard April 28, 2021, 1:29 p.m. UTC | #1
Hi Min,

> -----Original Message-----
> From: Min Hu (Connor) <humin29@huawei.com>
> Sent: Wednesday, April 21, 2021 8:00 AM
> To: dev@dpdk.org
> Cc: Yigit, Ferruh <ferruh.yigit@intel.com>; Iremonger, Bernard
> <bernard.iremonger@intel.com>; Kantecki, Tomasz
> <tomasz.kantecki@intel.com>; Richardson, Bruce
> <bruce.richardson@intel.com>; thomas@monjalon.net
> Subject: [PATCH v2 1/3] examples/flow_classify: fix check of port and core
> 
> According to the comments and logging, the author just hope user to use the
> core and device which are in the same numa node for optimal performance.
> If not, A warning gives out.
> 
> For example in flow_classify:
> ./build/flow_classify -w 0000:7d:00.1  -l 93

The EAL option "-w" has been replaced by the "-a" option  in dpdk-20.05

> Here:
> 0000:7d:00.1 is on numa node 0.
> core 93  is on numa node 3.
> 
> The two are not in same numa node, but no warning gives out in old codes.
> 
> This patch can fix it.
> 
> Fixes: bab16ddaf2c1 ("examples/flow_classify: add sample application")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
> ---
>  examples/flow_classify/flow_classify.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/examples/flow_classify/flow_classify.c
> b/examples/flow_classify/flow_classify.c
> index 335d7d2..277a2f5 100644
> --- a/examples/flow_classify/flow_classify.c
> +++ b/examples/flow_classify/flow_classify.c
> @@ -284,7 +284,7 @@ lcore_main(struct flow_classifier *cls_app)
>  	 * for best performance.
>  	 */
>  	RTE_ETH_FOREACH_DEV(port)
> -		if (rte_eth_dev_socket_id(port) > 0 &&
> +		if (rte_eth_dev_socket_id(port) >= 0 &&
>  			rte_eth_dev_socket_id(port) != (int)rte_socket_id())
> {
>  			printf("\n\n");
>  			printf("WARNING: port %u is on remote NUMA
> node\n",
> --
> 2.7.4

Tested-by: Bernard Iremonger <bernard.iremonger@intel.com>
  
humin (Q) April 29, 2021, 12:51 a.m. UTC | #2
在 2021/4/28 21:29, Iremonger, Bernard 写道:
> Hi Min,
> 
>> -----Original Message-----
>> From: Min Hu (Connor) <humin29@huawei.com>
>> Sent: Wednesday, April 21, 2021 8:00 AM
>> To: dev@dpdk.org
>> Cc: Yigit, Ferruh <ferruh.yigit@intel.com>; Iremonger, Bernard
>> <bernard.iremonger@intel.com>; Kantecki, Tomasz
>> <tomasz.kantecki@intel.com>; Richardson, Bruce
>> <bruce.richardson@intel.com>; thomas@monjalon.net
>> Subject: [PATCH v2 1/3] examples/flow_classify: fix check of port and core
>>
>> According to the comments and logging, the author just hope user to use the
>> core and device which are in the same numa node for optimal performance.
>> If not, A warning gives out.
>>
>> For example in flow_classify:
>> ./build/flow_classify -w 0000:7d:00.1  -l 93
> 
> The EAL option "-w" has been replaced by the "-a" option  in dpdk-20.05
> 
Hi, thanks Iremonger, fixed in v3.
>> Here:
>> 0000:7d:00.1 is on numa node 0.
>> core 93  is on numa node 3.
>>
>> The two are not in same numa node, but no warning gives out in old codes.
>>
>> This patch can fix it.
>>
>> Fixes: bab16ddaf2c1 ("examples/flow_classify: add sample application")
>> Cc: stable@dpdk.org
>>
>> Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
>> ---
>>   examples/flow_classify/flow_classify.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/examples/flow_classify/flow_classify.c
>> b/examples/flow_classify/flow_classify.c
>> index 335d7d2..277a2f5 100644
>> --- a/examples/flow_classify/flow_classify.c
>> +++ b/examples/flow_classify/flow_classify.c
>> @@ -284,7 +284,7 @@ lcore_main(struct flow_classifier *cls_app)
>>   	 * for best performance.
>>   	 */
>>   	RTE_ETH_FOREACH_DEV(port)
>> -		if (rte_eth_dev_socket_id(port) > 0 &&
>> +		if (rte_eth_dev_socket_id(port) >= 0 &&
>>   			rte_eth_dev_socket_id(port) != (int)rte_socket_id())
>> {
>>   			printf("\n\n");
>>   			printf("WARNING: port %u is on remote NUMA
>> node\n",
>> --
>> 2.7.4
> 
> Tested-by: Bernard Iremonger <bernard.iremonger@intel.com>
> .
>
  

Patch

diff --git a/examples/flow_classify/flow_classify.c b/examples/flow_classify/flow_classify.c
index 335d7d2..277a2f5 100644
--- a/examples/flow_classify/flow_classify.c
+++ b/examples/flow_classify/flow_classify.c
@@ -284,7 +284,7 @@  lcore_main(struct flow_classifier *cls_app)
 	 * for best performance.
 	 */
 	RTE_ETH_FOREACH_DEV(port)
-		if (rte_eth_dev_socket_id(port) > 0 &&
+		if (rte_eth_dev_socket_id(port) >= 0 &&
 			rte_eth_dev_socket_id(port) != (int)rte_socket_id()) {
 			printf("\n\n");
 			printf("WARNING: port %u is on remote NUMA node\n",