Re: [PATCH v5 1/9] mm/demotion: Add support for explicit memory tiers

Aneesh Kumar K V
2022-06-08T14:22:48Z

On 6/8/22 7:41 PM, Johannes Weiner wrote:
> Hi Aneesh,
>
> On Fri, Jun 03, 2022 at 07:12:29PM +0530, Aneesh Kumar K.V wrote:
>> @@ -0,0 +1,20 @@
>> +/* SPDX-License-Identifier: GPL-2.0 */
>> +#ifndef _LINUX_MEMORY_TIERS_H
>> +#define _LINUX_MEMORY_TIERS_H
>> +
>> +#ifdef CONFIG_TIERED_MEMORY
>> +
>> +#define MEMORY_TIER_HBM_GPU 0
>> +#define MEMORY_TIER_DRAM 1
>> +#define MEMORY_TIER_PMEM 2
>> +
>> +#define MEMORY_RANK_HBM_GPU 300
>> +#define MEMORY_RANK_DRAM 200
>> +#define MEMORY_RANK_PMEM 100
>> +
>> +#define DEFAULT_MEMORY_TIER MEMORY_TIER_DRAM
>> +#define MAX_MEMORY_TIERS 3
>
> I understand the names are somewhat arbitrary, and the tier ID space
> can be expanded down the line by bumping MAX_MEMORY_TIERS.
>
> But starting out with a packed ID space can get quite awkward for
> users when new tiers - especially intermediate tiers - show up in
> existing configurations. I mentioned in the other email that DRAM !=
> DRAM, so new tiers seem inevitable already.
>
> It could make sense to start with a bigger address space and spread
> out the list of kernel default tiers a bit within it:
>
> MEMORY_TIER_GPU 0
> MEMORY_TIER_DRAM 10
> MEMORY_TIER_PMEM 20
>

the tier index or tier id or the tier dev id don't have any special
meaning. What is used to find the demotion order is memory tier rank and
they are really spread out, (300, 200, 100).

-aneesh