21/07/2017 18:03, Sergio Gonzalez Monroy:
> On 21/07/2017 15:53, Thomas Monjalon wrote:
> > The title and the text below should explain that you move
> > the warning log from scan to probe, thanks to a temporary
> > negative value.
> 
> I thought that saying that I only check for devices managed by dpdk 
> explains the purpose,
> and the patch itself shows the change from one file to another.

It is obvious when you look carefully at the code, yes.
I was just giving my help to better explain :)
> 
> > 21/07/2017 12:11, Sergio Gonzalez Monroy:
> >> Commit 8a04cb612589 ("pci: set default numa node for broken systems")
> >> added logic to default to NUMA node 0 when sysfs numa_node information
> >> was wrong or not available.
> >>
> >> Unfortunately there are many devices with wrong NUMA node information
> >> that DPDK does not care about but still show warnings for them.
> >>
> >> Instead, only check for invalid NUMA node information for devices
> >> managed by the DPDK.
> >>
> >> Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.mon...@intel.com>
> > [...]
> >> -  if (eal_parse_sysfs_value(filename, &tmp) == 0 &&
> >> -          tmp < RTE_MAX_NUMA_NODES)
> >> +  if (eal_parse_sysfs_value(filename, &tmp) == 0)
> >>            dev->device.numa_node = tmp;
> > 
> > Why are you removing the check of the value?
> > Are you going to accept invalid high values?
> > This check was introduced on purpose by this commit:
> >     http://dpdk.org/commit/8a04cb6125
> 
> tmp is unsigned long type, so -1 is going to be a large number.

Oh yes, I missed it was unsigned!

> My understanding was that it was basically checking for -1 as numa_node.
> 
> If we have valid numa_node greater than RTE_MAX_NUMA_NODES, defaulting 
> to 0 is not a good idea, is it?
> 
> What I try to achieve with the patch is:
> - if no numa_node avilable then parse is going to fail and we set -1.
> - if numa_node is present but wrong, my understanding was that it would 
> be -1.

All your explanations make sense when you realize that it is unsigned.

I have one more question,
Does it work to check for a negative value like this?
        if (dev->device.numa_node < 0)

Reply via email to