linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Dan Williams <dan.j.williams@intel.com>
To: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>
Cc: linux-nvdimm <linux-nvdimm@lists.01.org>,
	David Hildenbrand <david@redhat.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Borislav Petkov <bp@alien8.de>,
	Michael Ellerman <mpe@ellerman.id.au>,
	"H. Peter Anvin" <hpa@zytor.com>, X86 ML <x86@kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Ingo Molnar <mingo@redhat.com>, Michal Hocko <mhocko@suse.com>,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	Andy Lutomirski <luto@kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Linux MM <linux-mm@kvack.org>
Subject: Re: [PATCH 00/16] Memory Hierarchy: Enable target node lookups for reserved memory
Date: Tue, 12 Nov 2019 11:37:51 -0800	[thread overview]
Message-ID: <CAPcyv4iKE6x2uD0NUjivO8KFXQxcX_kWBysShXBf_p8PfFiMXA@mail.gmail.com> (raw)
In-Reply-To: <8736ettj60.fsf@linux.ibm.com>

On Tue, Nov 12, 2019 at 3:43 AM Aneesh Kumar K.V
<aneesh.kumar@linux.ibm.com> wrote:
>
> Dan Williams <dan.j.williams@intel.com> writes:
>
> > Yes, this patch series looks like a pile of boring libnvdimm cleanups,
> > but buried at the end are some small gems that testing with libnvdimm
> > uncovered. These gems will prove more valuable over time for Memory
> > Hierarchy management as more platforms, via the ACPI HMAT and EFI
> > Specific Purpose Memory, publish reserved or "soft-reserved" ranges to
> > Linux. Linux system administrators will expect to be able to interact
> > with those ranges with a unique numa node number when/if that memory is
> > onlined via the dax_kmem driver [1].
> >
> > One configuration that currently fails to properly convey the target
> > node for the resulting memory hotplug operation is persistent memory
> > defined by the memmap=nn!ss parameter. For example, today if node1 is a
> > memory only node, and all the memory from node1 is specified to
> > memmap=nn!ss and subsequently onlined, it will end up being onlined as
> > node0 memory. As it stands, memory_add_physaddr_to_nid() can only
> > identify online nodes and since node1 in this example has no online cpus
> > / memory the target node is initialized node0.
> >
> > The fix is to preserve rather than discard the numa_meminfo entries that
> > are relevant for reserved memory ranges, and to uplevel the node
> > distance helper for determining the "local" (closest) node relative to
> > an initiator node.
> >
> > The first 12 patches are cleanups to make sure that all nvdimm devices
> > and their children properly export a numa_node attribute. The switch to
> > a device-type is less code and less error prone as a result.
>
>
> Will this still allow leaf driver to have platform specific attribute
> exposed via sysfs? Or do we want to still keep them in nvdimm core and
> control the visibility via is_visible() callback?

The leaf driver can still have platform specific attributes, see:

    acpi_nfit_attribute_groups
    acpi_nfit_dimm_attribute_groups
    acpi_nfit_region_attribute_groups

...that still exist after this conversion. This conversion simply
arranges for those to passed in without making the leaf driver also be
responsible for specifying the core attributes.

      reply	other threads:[~2019-11-12 19:38 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-07  3:56 [PATCH 00/16] Memory Hierarchy: Enable target node lookups for reserved memory Dan Williams
2019-11-07  3:56 ` [PATCH 01/16] libnvdimm: Move attribute groups to device type Dan Williams
2019-11-12 11:28   ` Aneesh Kumar K.V
2019-11-07  3:56 ` [PATCH 02/16] libnvdimm: Move region attribute group definition Dan Williams
2019-11-12 11:29   ` Aneesh Kumar K.V
2019-11-07  3:56 ` [PATCH 03/16] libnvdimm: Move nd_device_attribute_group to device_type Dan Williams
2019-11-12 11:30   ` Aneesh Kumar K.V
2019-11-07  3:56 ` [PATCH 04/16] libnvdimm: Move nd_numa_attribute_group " Dan Williams
2019-11-12  9:22   ` Aneesh Kumar K.V
2019-11-13  1:26     ` Dan Williams
2019-11-13  6:02       ` Aneesh Kumar K.V
2019-11-13  6:14         ` Dan Williams
2019-11-07  3:57 ` [PATCH 05/16] libnvdimm: Move nd_region_attribute_group " Dan Williams
2019-11-12 11:45   ` Aneesh Kumar K.V
2019-11-07  3:57 ` [PATCH 06/16] libnvdimm: Move nd_mapping_attribute_group " Dan Williams
2019-11-12 11:45   ` Aneesh Kumar K.V
2019-11-07  3:57 ` [PATCH 07/16] libnvdimm: Move nvdimm_attribute_group " Dan Williams
2019-11-12 11:48   ` Aneesh Kumar K.V
2019-11-07  3:57 ` [PATCH 08/16] libnvdimm: Move nvdimm_bus_attribute_group " Dan Williams
2019-11-12 11:48   ` Aneesh Kumar K.V
2019-11-07  3:57 ` [PATCH 09/16] dax: Create a dax device_type Dan Williams
2019-11-12 11:49   ` Aneesh Kumar K.V
2019-11-07  3:57 ` [PATCH 10/16] dax: Simplify root read-only definition for the 'resource' attribute Dan Williams
2019-11-12 11:49   ` Aneesh Kumar K.V
2019-11-07  3:57 ` [PATCH 11/16] libnvdimm: " Dan Williams
2019-11-12 11:50   ` Aneesh Kumar K.V
2019-11-07  3:57 ` [PATCH 12/16] dax: Add numa_node to the default device-dax attributes Dan Williams
2019-11-12 11:50   ` Aneesh Kumar K.V
2019-11-07  3:57 ` [PATCH 13/16] acpi/mm: Up-level "map to online node" functionality Dan Williams
2019-11-11 11:30   ` Aneesh Kumar K.V
2019-11-11 23:38     ` Dan Williams
2019-11-07  3:57 ` [PATCH 14/16] x86/numa: Provide a range-to-target_node lookup facility Dan Williams
2019-11-07  3:57 ` [PATCH 15/16] libnvdimm/e820: Drop the wrapper around memory_add_physaddr_to_nid Dan Williams
2019-11-07  3:58 ` [PATCH 16/16] libnvdimm/e820: Retrieve and populate correct 'target_node' info Dan Williams
2019-11-09  5:02   ` kbuild test robot
2019-11-12 11:42 ` [PATCH 00/16] Memory Hierarchy: Enable target node lookups for reserved memory Aneesh Kumar K.V
2019-11-12 19:37   ` Dan Williams [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAPcyv4iKE6x2uD0NUjivO8KFXQxcX_kWBysShXBf_p8PfFiMXA@mail.gmail.com \
    --to=dan.j.williams@intel.com \
    --cc=akpm@linux-foundation.org \
    --cc=aneesh.kumar@linux.ibm.com \
    --cc=bp@alien8.de \
    --cc=dave.hansen@linux.intel.com \
    --cc=david@redhat.com \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-nvdimm@lists.01.org \
    --cc=luto@kernel.org \
    --cc=mhocko@suse.com \
    --cc=mingo@redhat.com \
    --cc=mpe@ellerman.id.au \
    --cc=peterz@infradead.org \
    --cc=rjw@rjwysocki.net \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).