Re: [PATCH] mm, x86: Skip NUMA_NO_NODE while parsing SLIT

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 5 Dec 2013, Yasuaki Ishimatsu wrote:

> (2013/12/05 6:09), Toshi Kani wrote:
> > When ACPI SLIT table has an I/O locality (i.e. a locality unique
> > to an I/O device), numa_set_distance() emits the warning message
> > below.
> > 
> >   NUMA: Warning: node ids are out of bound, from=-1 to=-1 distance=10
> > 
> > acpi_numa_slit_init() calls numa_set_distance() with pxm_to_node(),
> > which assumes that all localities have been parsed with SRAT previously.
> > SRAT does not list I/O localities, where as SLIT lists all localities
> 
> > including I/Os.  Hence, pxm_to_node() returns NUMA_NO_NODE (-1) for
> > an I/O locality.  I/O localities are not supported and are ignored
> > today, but emitting such warning message leads unnecessary confusion.
> 
> In this case, the warning message should not be shown. But if SLIT table
> is really broken, the message should be shown. Your patch seems to not care
> for second case.
> 

It's a subtle problem of the difference in the definition of a "NUMA node" 
between the ACPI specification and how it is defined in the kernel.  The 
specification allows I/O buses to define a NUMA node and the kernel 
doesn't setup a separate node id for them, so there's no way to 
distinguish between an erroneous SLIT and system localities that only 
include I/O devices.  If that were to change in the future we could remove 
this limitation since pxm_to_node() wouldn't return NUMA_NO_NODE for 
Toshi's config.  A follow-up patch that adds the comment about why this is 
done has been proposed to be folded into this patch.

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]