Re: [PATCHv4 07/13] node: Add heterogenous memory access attributes

From: Greg Kroah-Hartman
Date: Thu Jan 17 2019 - 10:41:56 EST


On Thu, Jan 17, 2019 at 04:03:42PM +0100, Rafael J. Wysocki wrote:
> On Wed, Jan 16, 2019 at 6:59 PM Keith Busch <keith.busch@xxxxxxxxx> wrote:
> >
> > Heterogeneous memory systems provide memory nodes with different latency
> > and bandwidth performance attributes. Provide a new kernel interface for
> > subsystems to register the attributes under the memory target node's
> > initiator access class. If the system provides this information, applications
> > may query these attributes when deciding which node to request memory.
> >
> > The following example shows the new sysfs hierarchy for a node exporting
> > performance attributes:
> >
> > # tree -P "read*|write*" /sys/devices/system/node/nodeY/classZ/
> > /sys/devices/system/node/nodeY/classZ/
> > |-- read_bandwidth
> > |-- read_latency
> > |-- write_bandwidth
> > `-- write_latency
> >
> > The bandwidth is exported as MB/s and latency is reported in nanoseconds.
> > Memory accesses from an initiator node that is not one of the memory's
> > class "Z" initiator nodes may encounter different performance than
> > reported here. When a subsystem makes use of this interface, initiators
> > of a lower class number, "Z", have better performance relative to higher
> > class numbers. When provided, class 0 is the highest performing access
> > class.
> >
> > Signed-off-by: Keith Busch <keith.busch@xxxxxxxxx>
> > ---
> > drivers/base/Kconfig | 8 ++++++++
> > drivers/base/node.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
> > include/linux/node.h | 25 +++++++++++++++++++++++++
> > 3 files changed, 81 insertions(+)
> >
> > diff --git a/drivers/base/Kconfig b/drivers/base/Kconfig
> > index 3e63a900b330..6014980238e8 100644
> > --- a/drivers/base/Kconfig
> > +++ b/drivers/base/Kconfig
> > @@ -149,6 +149,14 @@ config DEBUG_TEST_DRIVER_REMOVE
> > unusable. You should say N here unless you are explicitly looking to
> > test this functionality.
> >
> > +config HMEM_REPORTING
> > + bool
> > + default y

default y is only if the machine will not boot without it. Please never
make a new option y unless you really really have to have it on all
machines in the world.

Hint, not here.

greg k-h