Thread (18 messages) 18 messages, 2 authors, 2020-01-03

Re: [PATCH V6 0/7] ACPI: Support Generic Initiator proximity domains

From: Jonathan Cameron <Jonathan.Cameron@Huawei.com>
Date: 2020-01-02 15:27:25
Also in: linux-acpi, linux-arm-kernel, lkml

On Fri, 20 Dec 2019 22:40:18 +0100
Brice Goglin [off-list ref] wrote:
Le 18/12/2019 à 15:50, Jonathan Cameron a écrit :
quoted
On Wed, 18 Dec 2019 12:32:06 +0100
Brice Goglin [off-list ref] wrote:
 
quoted
Le 16/12/2019 à 16:38, Jonathan Cameron a écrit :  
quoted
Introduces a new type of NUMA node for cases where we want to represent
the access characteristics of a non CPU initiator of memory requests,
as these differ from all those for existing nodes containing CPUs and/or
memory.

These Generic Initiators are presented by the node access0 class in
sysfs in the same way as a CPU.   It seems likely that there will be
usecases in which the best 'CPU' is desired and Generic Initiators
should be ignored.  The final few patches in this series introduced
access1 which is a new performance class in the sysfs node description
which presents only CPU to memory relationships.  Test cases for this
are described below.    
Hello Jonathan

If I want to test this with a fake GI, what are the minimal set of
changes I should put in my ACPI tables? Can I just specify a dummy GI in
SRAT? What handle should I use there?  
Exactly that for a dummy GI.  Also extend HMAT and SLIT for the extra
proximity domain / initiator.  

I couldn't get this to work (your patches on top of 5.5-rc2). I added
the GI in SRAT, and extended HMAT and SLIT accordingly.

I don't know if that's expected but I get an additional node in sysfs,
with 0kB memory.

However the HMAT table gets ignored because find_mem_target() fails in
hmat_parse_proximity_domain(). The target should have been allocated in
alloc_memory_target() which is called in srat_parse_mem_affinity(), but
it seems to me that this function isn't called for GI nodes. Or should
SRAT also contain a normal Memory node with same PM as the GI?
Hi Brice,

Yes you should see a node with 0kB memory.  Same as you get for a processor
only node I believe.

srat_parse_mem_affinity shouldn't call alloc_memory_target for the GI nodes
as they don't have any memory.   The hmat table should only refer to
GI domains as initiators.  Just to check, do you have them listed as
a target node?  Or perhaps in some hmat proximity entry as memory_PD?

To answer your question, SRAT should not contain a normal memory node
with the same PXM as that would defeat the whole purpose as we would have
been able to have such a domain without Generic Initiators.

Also, just to check, x86 or arm64?

Thanks for testing this.

Jonathan

Brice

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help