[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ed0004ea-c8d6-4ba9-ba40-0c9a97d98db6@sk.com>
Date: Tue, 18 Mar 2025 20:02:46 +0900
From: Honggyu Kim <honggyu.kim@...com>
To: Yunjeong Mun <yunjeong.mun@...com>, Gregory Price <gourry@...rry.net>
Cc: kernel_team@...ynix.com, Joshua Hahn <joshua.hahnjy@...il.com>,
harry.yoo@...cle.com, ying.huang@...ux.alibaba.com,
gregkh@...uxfoundation.org, rakie.kim@...com, akpm@...ux-foundation.org,
rafael@...nel.org, lenb@...nel.org, dan.j.williams@...el.com,
Jonathan.Cameron@...wei.com, dave.jiang@...el.com, horen.chuang@...ux.dev,
hannes@...xchg.org, linux-kernel@...r.kernel.org,
linux-acpi@...r.kernel.org, linux-mm@...ck.org, kernel-team@...a.com
Subject: Re: [PATCH 2/2 v6] mm/mempolicy: Don't create weight sysfs for
memoryless nodes
On 3/18/2025 5:02 PM, Yunjeong Mun wrote:
> Hi Gregory, I have one more question below.
>
> On Tue, 11 Mar 2025 00:42:49 -0400 Gregory Price <gourry@...rry.net> wrote:
>> On Tue, Mar 11, 2025 at 01:02:07PM +0900, Yunjeong Mun wrote:
>>
>> forenote - Hi Andrew, please hold off on the auto-configuration patch
>> for now, the sk group has identified a hotplug issue we need to work out
>> and we'll likely need to merge these two patch set together. I really
>> appreciate your patience with this feature.
>>
>>> Hi Gregory,
>>>
>>> In my understanding, the reason we are seeing 12 NUMA node is because
>>> it loops through node_states[N_POSSIBLE] and its value is 4095 (twelves ones)
>>> in the code [1] below:
>>>
>> ... snip ...
>>
>> Appreciated, so yes this confirms what i thought was going on. There's
>> 4 host bridges, 2 devices on each host bridge, and an extra CFMWS per
>> socket that is intended to interleave across the host bridges.
>>
>
> Thanks for confirm. Honggyu represented it as a tree sturcture:
> rootport/
> ├── socket0
> │ ├── cross-host-bridge0 -> SRAT && CEDT (interleave on) --> NODE 2
> │ │ ├── host-bridge0 -> CEDT
> │ │ │ ├── cxl0 -> CEDT
> │ │ │ └── cxl1-> CEDT
> │ │ └── host-bridge1 -> CEDT
> │ │ ├── cxl2 -> CEDT
> │ │ └── cxl3 -> CEDT
> │ └── dram0 -> SRAT ---------------------------------------> NODE 0
> └── socket1
> ├── cross-host-bridge1 -> SRAT && CEDT (interleave on)---> NODE 3
> │ ├── host-bridge2 -> CEDT
> │ │ ├── cxl4 -> CEDT
> │ │ └── cxl5 -> CEDT
> │ └── host-bridge3 -> CEDT
> │ ├── cxl6 -> CEDT
> │ └── cxl7 -> CEDT
> └── dram1 -> SRAT ---------------------------------------> NODE 1
Some simple corrections here. host-bridge{0-3} above aren't detected from CEDT.
The corrected structure is as follows.
rootport/
├── socket0
│ ├── cross-host-bridge0 -> SRAT && CEDT (interleave on) --> NODE 2
│ │ ├── host-bridge0
│ │ │ ├── cxl0 -> CEDT
│ │ │ └── cxl1-> CEDT
│ │ └── host-bridge1
│ │ ├── cxl2 -> CEDT
│ │ └── cxl3 -> CEDT
│ └── dram0 -> SRAT ---------------------------------------> NODE 0
└── socket1
├── cross-host-bridge1 -> SRAT && CEDT (interleave on)---> NODE 3
│ ├── host-bridge2
│ │ ├── cxl4 -> CEDT
│ │ └── cxl5 -> CEDT
│ └── host-bridge3
│ ├── cxl6 -> CEDT
│ └── cxl7 -> CEDT
└── dram1 -> SRAT ---------------------------------------> NODE 1
Thanks,
Honggyu
Powered by blists - more mailing lists