[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20171220181937.GB12236@bombadil.infradead.org>
Date: Wed, 20 Dec 2017 10:19:37 -0800
From: Matthew Wilcox <willy@...radead.org>
To: Ross Zwisler <ross.zwisler@...ux.intel.com>
Cc: Michal Hocko <mhocko@...nel.org>, linux-kernel@...r.kernel.org,
"Anaczkowski, Lukasz" <lukasz.anaczkowski@...el.com>,
"Box, David E" <david.e.box@...el.com>,
"Kogut, Jaroslaw" <Jaroslaw.Kogut@...el.com>,
"Koss, Marcin" <marcin.koss@...el.com>,
"Koziej, Artur" <artur.koziej@...el.com>,
"Lahtinen, Joonas" <joonas.lahtinen@...el.com>,
"Moore, Robert" <robert.moore@...el.com>,
"Nachimuthu, Murugasamy" <murugasamy.nachimuthu@...el.com>,
"Odzioba, Lukasz" <lukasz.odzioba@...el.com>,
"Rafael J. Wysocki" <rafael.j.wysocki@...el.com>,
"Rafael J. Wysocki" <rjw@...ysocki.net>,
"Schmauss, Erik" <erik.schmauss@...el.com>,
"Verma, Vishal L" <vishal.l.verma@...el.com>,
"Zheng, Lv" <lv.zheng@...el.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Balbir Singh <bsingharora@...il.com>,
Brice Goglin <brice.goglin@...il.com>,
Dan Williams <dan.j.williams@...el.com>,
Dave Hansen <dave.hansen@...el.com>,
Jerome Glisse <jglisse@...hat.com>,
John Hubbard <jhubbard@...dia.com>,
Len Brown <lenb@...nel.org>,
Tim Chen <tim.c.chen@...ux.intel.com>, devel@...ica.org,
linux-acpi@...r.kernel.org, linux-mm@...ck.org,
linux-nvdimm@...ts.01.org, linux-api@...r.kernel.org,
linuxppc-dev@...ts.ozlabs.org
Subject: Re: [PATCH v3 0/3] create sysfs representation of ACPI HMAT
On Mon, Dec 18, 2017 at 01:35:47PM -0700, Ross Zwisler wrote:
> What I'm hoping to do with this series is to just provide a sysfs
> representation of the HMAT so that applications can know which NUMA nodes to
> select with existing utilities like numactl. This series does not currently
> alter any kernel behavior, it only provides a sysfs interface.
>
> Say for example you had a system with some high bandwidth memory (HBM), and
> you wanted to use it for a specific application. You could use the sysfs
> representation of the HMAT to figure out which memory target held your HBM.
> You could do this by looking at the local bandwidth values for the various
> memory targets, so:
>
> # grep . /sys/devices/system/hmat/mem_tgt*/local_init/write_bw_MBps
> /sys/devices/system/hmat/mem_tgt2/local_init/write_bw_MBps:81920
> /sys/devices/system/hmat/mem_tgt3/local_init/write_bw_MBps:40960
> /sys/devices/system/hmat/mem_tgt4/local_init/write_bw_MBps:40960
> /sys/devices/system/hmat/mem_tgt5/local_init/write_bw_MBps:40960
>
> and look for the one that corresponds to your HBM speed. (These numbers are
> made up, but you get the idea.)
Presumably ACPI-based platforms will not be the only ones who have the
ability to expose different bandwidth memories in the future. I think
we need a platform-agnostic way ... right, PowerPC people?
I don't know what the right interface is, but my laptop has a set of
/sys/devices/system/memory/memoryN/ directories. Perhaps this is the
right place to expose write_bw (etc).
> Once you know the NUMA node of your HBM, you can figure out the NUMA node of
> it's local initiator:
>
> # ls -d /sys/devices/system/hmat/mem_tgt2/local_init/mem_init*
> /sys/devices/system/hmat/mem_tgt2/local_init/mem_init0
>
> So, in our made-up example our HBM is located in numa node 2, and the local
> CPU for that HBM is at numa node 0.
initiator is a CPU? I'd have expected you to expose a memory controller
abstraction rather than re-use storage terminology.
Powered by blists - more mailing lists