Re: [PATCH v3 updated] mm/demotion: Expose memory tier details via sysfs

Aneesh Kumar K V
2022-09-01T08:25:16Z

On 9/1/22 12:31 PM, Huang, Ying wrote:
> "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com> writes:
>
>> This patch adds /sys/devices/virtual/memory_tiering/ where all memory tier
>> related details can be found. All allocated memory tiers will be listed
>> there as /sys/devices/virtual/memory_tiering/memory_tierN/
>>
>> The nodes which are part of a specific memory tier can be listed via
>> /sys/devices/virtual/memory_tiering/memory_tierN/nodes
>
> I think "memory_tier" is a better subsystem/bus name than
> memory_tiering. Because we have a set of memory_tierN devices inside.
> "memory_tier" sounds more natural. I know this is subjective, just my
> preference.
>
>>
>> A directory hierarchy looks like
>> :/sys/devices/virtual/memory_tiering$ tree memory_tier4/
>> memory_tier4/
>> ├── nodes
>> ├── subsystem -> ../../../../bus/memory_tiering
>> └── uevent
>>
>> All toptier nodes are listed via
>> /sys/devices/virtual/memory_tiering/toptier_nodes
>>
>> :/sys/devices/virtual/memory_tiering$ cat toptier_nodes
>> 0,2
>> :/sys/devices/virtual/memory_tiering$ cat memory_tier4/nodes
>> 0,2
>
> I don't think that it is a good idea to show toptier information in user
> space interface. Because it is just a in kernel implementation
> details. Now, we only promote pages from !toptier to toptier. But
> there may be multiple memory tiers in toptier and !toptier, we may
> change the implementation in the future. For example, we may promote
> pages from DRAM to HBM in the future.
>

In the case you describe above and others, we will always have a list of
NUMA nodes from which memory promotion is not done.
/sys/devices/virtual/memory_tiering/toptier_nodes shows that list.

> Do we need a way to show the default memory tier in sysfs? That is, the
> memory tier that the DRAM nodes belong to.
>

I will hold adding that until we have support for modifying memory tier details from
userspace. That is when userspace would want to know about the default memory tier.

For now, the user interface is a simpler hierarchy of memory tiers, it's associated
nodes and the list of nodes from which promotion is not done.

-aneesh