Re: [PATCH v2] mm/demotion: Expose memory tier details via sysfs
From: Huang, Ying
Date: Thu Sep 01 2022 - 02:37:34 EST
Wei Xu <weixugc@xxxxxxxxxx> writes:
> On Mon, Aug 29, 2022 at 11:46 PM Aneesh Kumar K V
> <aneesh.kumar@xxxxxxxxxxxxx> wrote:
>>
>> On 8/30/22 12:01 PM, Wei Xu wrote:
>> > On Sun, Aug 28, 2022 at 11:08 PM Aneesh Kumar K.V
>> > <aneesh.kumar@xxxxxxxxxxxxx> wrote:
[snip]
>> >>
>> >> +
>> >> +What: /sys/devices/virtual/memory_tiering/memory_tierN/
>> >> + /sys/devices/virtual/memory_tiering/memory_tierN/abstract_distance
>> >> + /sys/devices/virtual/memory_tiering/memory_tierN/nodes
>> >> +Date: August 2022
>> >> +Contact: Linux memory management mailing list <linux-mm@xxxxxxxxx>
>> >> +Description: Directory with details of a specific memory tier
>> >> +
>> >> + This is the directory containing information about a particular
>> >> + memory tier, memtierN, where N is derived based on abstract distance.
>> >> +
>> >> + A smaller value of N implies a higher (faster) memory tier in the
>> >> + hierarchy.
>> >
>> > Given that abstract_distance is provided, it would be more flexible if
>> > we don't commit to the interface where N in memtierN also indicates
>> > the memory tier ordering.
>>
>>
>> IIUC this is one of the request that Johannes had ie, to be able to understand the
>> memory tier hierarchy based on memtier name.
>>
>> >> +
>> >> + abstract_distance: The abstract distance range this specific memory
>> >> + tier maps to.
>> >
>> > I still think the name of "abstract distance" is kind of confusing
>> > because it is not clear what is the other object that this distance
>> > value is relative to. Do we have to expose this value at this point
>> > if N in memtierN can already indicate the memory tier ordering?
>> >
>>
>> I do agree that abstract distance is confusing. But IIUC we agreed that it is much better
>> than other names suggested and is closer to already understood "numa distance" term.
>>
>> https://lore.kernel.org/linux-mm/YuLF%2FGG8x5lQvg%2Ff@xxxxxxxxxxx/
>>
>
> "NUMA distance" measures the distance between two NUMA nodes.
Per my understanding, "NUMA distance" measures the distance between the
CPUs of one NUMA node to the memory of another NUMA node.
> I bring it up again because this name will become a user visible
> kernel interface, which we will need to live with for a long time.
> Even if we decide to keep the name, it would be better if we can
> define between which two (abstract) points the abstract distance
> reports.
My opinion is that "abstract distance" reflects the distance
(latency+bandwidth) between the CPUs of one NUMA socket to a type of
memory in the same NUMA socket.
Hi, Johannes,
What do you think about this? You are the inventor of the "abstract
distance". Can you elaborate its definition?
Best Regards,
Huang, Ying
> Another option is to remove this interface for now until it becomes
> necessary to report abstract distances to userspace.
[snip]