[dpdk-dev] [PATCH v4] eal: Set numa node value for system which not support it.

Sergio Gonzalez Monroy sergio.gonzalez.monroy at intel.com
Thu Jun 22 17:15:21 CEST 2017


Just fyi, the summary line should be lowercase apart from acronyms (DPDK 
guidelines).

On 11/05/2017 02:56, Tonghao Zhang wrote:
> The NUMA node information for PCI devices provided through
> sysfs is invalid for AMD Opteron(TM) Processor 62xx and 63xx
> on Red Hat Enterprise Linux 6, and VMs on some hypervisors.
> It is good to see more checking for valid values.
>
> Signed-off-by: Tonghao Zhang <nic at opencloud.tech>
> ---

IMHO the message could be slightly improved by adding some of the 
replies that you made to your v3.
ie. Typical wrong numa node in VMs

$ cat /sys/devices/pci0000:00/0000:00:18.6/numa_node
-1

>   lib/librte_eal/linuxapp/eal/eal_pci.c | 18 +++++++++---------
>   1 file changed, 9 insertions(+), 9 deletions(-)
>
> diff --git a/lib/librte_eal/linuxapp/eal/eal_pci.c b/lib/librte_eal/linuxapp/eal/eal_pci.c
> index 595622b..c817b4c 100644
> --- a/lib/librte_eal/linuxapp/eal/eal_pci.c
> +++ b/lib/librte_eal/linuxapp/eal/eal_pci.c
> @@ -310,18 +310,18 @@
>   			dev->max_vfs = (uint16_t)tmp;
>   	}
>   
> -	/* get numa node */
> +	/* get numa node, default to 0 if not present */
>   	snprintf(filename, sizeof(filename), "%s/numa_node",
>   		 dirname);
> -	if (access(filename, R_OK) != 0) {
> -		/* if no NUMA support, set default to 0 */
> -		dev->device.numa_node = 0;
> -	} else {
> -		if (eal_parse_sysfs_value(filename, &tmp) < 0) {
> -			free(dev);
> -			return -1;
> -		}
> +
> +	if (eal_parse_sysfs_value(filename, &tmp) == 0 &&
> +		tmp < RTE_MAX_NUMA_NODES)
>   		dev->device.numa_node = tmp;
> +	else {
> +		RTE_LOG(WARNING, EAL,
> +			"numa_node is invalid or not present. "
> +			"Set it 0 as default\n");
> +		dev->device.numa_node = 0;
>   	}
>   
>   	rte_pci_device_name(addr, dev->name, sizeof(dev->name));

The code changes look fine, so I leave it to Thomas regarding the commit 
message :)

Acked-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy at intel.com>



More information about the dev mailing list