Re: [RFC PATCH 0/3] Fix SLQB on memoryless configurations V2

Benjamin Herrenschmidt
2009-09-22T08:13:29Z

On Tue, 2009-09-22 at 00:59 -0700, David Rientjes wrote:
> The equivalent of proximity domains then describes the distance between
> all localities; these distances need not be one-way, it is possible for
> distance in one direction to be different from the opposite direction,
> just as ACPI pxm's allow.
>
> A "node" in this plan is simply a system locality consisting of memory.
>
> For subsystems such as slab allocators, all we require is cpu_to_node()
> tables which would map cpu localities to nodes and describe them in terms
> of local or remote distance (or whatever the SLIT says, if provided). All
> present day information can still be represented in this model, we've just
> added additional layers of abstraction internally.

While I like the idea of NUMA nodes being strictly memory and everything
else being expressed by distances, we'll have to clean up quite a few
corners with skeletons in various states of decompositions waiting for
us there.

For example, we have code here or there that (ab)uses the NUMA node
information to link devices with their iommu, that sort of thing. IE, a
hard dependency which isn't really related to a concept of distance to
any memory.

At least on powerpc, nowadays, I can pretty much make everything
fallback to some representation in the device-tree though, thus it
shouldn't be -that- hard to fix I suppose.

Cheers,
Ben.