"Aneesh Kumar K.V" <aneesh.kumar@xxxxxxxxxxxxx> writes: > All allocated memory tiers will be listed as > /sys/devices/virtual/memtier/memtierN/ > > Each memtier directory contains symbolic link for the memory types > that are part of the memory tier. A directory hierarchy looks like > > :/sys/devices/virtual/memtier# tree memtier512/ > memtier512/ So you suggest to use abstract_distance_start as memory tier ID? That will make memory tier ID stable unless we change abstract distance chunk size or abstract distance division points. That is, we have at least 2 choices here 1. memory_tier0, memory_tier1, memory_tier2, ... The ID will start from 0. This is easy to understand by users. The main drawback is that the memory tier ID may be changed when a NUMA node is onlined/offlined. That is, the memory tier ID is relatively unstable. 2. memory_tier<abstract_distance_start1>, memory_tier<abstract_distance_start2>, ... The ID will be discontinuous. So it's not as intuitive as 0,1,2,.... The main advantage is that the memory tier ID will not change when a NUMA node is onlined/offlined. The ID will be changed only when we change abstract distance chunk size or abstract distance division points. That is considered relatively seldom. Personally, I prefer the 2nd choice too. But I want to collect opinions from other people too. > ├── memtype1 -> ../memtype1 > ├── memtype2 -> ../memtype2 I think abstract_distance_start and abstract_distance_end is the key information of a memory tier too. So we should show them here. > ├── subsystem -> ../../../../bus/memtier > └── uevent > > The nodes which are part of a specific memory type can be listed via > /sys/devices/system/memtier/memtypeN/nodes. > > The adistance value of a specific memory type can be listed via > /sys/devices/system/memtier/memtypeN/adistance. > > Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxx> Best Regards, Huang, Ying [snip]