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

From: Huang, Ying
Date: Thu Sep 01 2022 - 03:03:01 EST


"Aneesh Kumar K.V" <aneesh.kumar@xxxxxxxxxxxxx> 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.

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

Best Regards,
Huang, Ying

> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxx>
> ---
>
> Changes from v2:
> * update macro to static inline
> * Fix build error with CONFIG_MIGRATION disabled
> * drop abstract_distance
> * update commit message
>
>

[snip]