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 etc.