Re: RFC: Memory Tiering Kernel Interfaces (v3)

Jonathan Cameron
2022-05-30T12:50:54Z

On Sun, 29 May 2022 12:31:30 +0800
Ying Huang <ying.huang@intel.com> wrote:

> On Fri, 2022-05-27 at 09:30 -0700, Wei Xu wrote:
> > On Fri, May 27, 2022 at 6:41 AM Aneesh Kumar K V
> > <aneesh.kumar@linux.ibm.com> wrote:
> > >
> > > On 5/27/22 2:52 AM, Wei Xu wrote:
> > >
> > > >    The order of memory tiers is determined by their rank values, not by
> > > >    their memtier device names.
> > > >
> > > >    - /sys/devices/system/memtier/possible
> > > >
> > > >      Format: ordered list of "memtier(rank)"
> > > >      Example: 0(64), 1(128), 2(192)
> > > >
> > > >      Read-only. When read, list all available memory tiers and their
> > > >      associated ranks, ordered by the rank values (from the highest
> > > >       tier to the lowest tier).
> > > >
> > >
> > > Did we discuss the need for this? I haven't done this in the patch
> > > series I sent across.
> >
> > The "possible" file is only needed if we decide to hide the
> > directories of memtiers that have no nodes. We can remove this
> > interface and always show all memtier directories to keep things
> > simpler.
>
> When discussed offline, Tim Chen pointed out that with the proposed
> interface, it's unconvenient to know the position of a given memory tier
> in all memory tiers. We must sort "rank" of all memory tiers to know
> that. "possible" file can be used for that. Although "possible" file
> can be generated with a shell script, it's more convenient to show it
> directly.
>
> Another way to address the issue is to add memtierN/pos for each memory
> tier as suggested by Tim. It's readonly and will show position of
> "memtierN" in all memory tiers. It's even better to show the relative
> postion to the default memory tier (DRAM with CPU). That is, the
> position of DRAM memory tier is 0.
>
> Unlike memory tier device ID or rank, the position is relative and
> dynamic.

Hi,

I'm unconvinced. This is better done with a shell script than
by adding ABI we'll have to live with for ever..

I'm no good at shell scripting but this does the job
grep "" tier*/rank | sort -n -k 2 -t :

tier2/rank:50
tier0/rank:100
tier1/rank:200
tier3/rank:240

I'm sure someone more knowledgeable will do it in a simpler fashion still.

Jonathan

>
> Best Regards,
> Huang, Ying
>
>