From: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com> To: Dan Williams <dan.j.williams@intel.com>, linux-nvdimm@lists.01.org Cc: Michael Ellerman <mpe@ellerman.id.au>, peterz@infradead.org, dave.hansen@linux.intel.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: Re: [PATCH 03/16] libnvdimm: Move nd_device_attribute_group to device_type Date: Tue, 12 Nov 2019 17:00:46 +0530 [thread overview] Message-ID: <878soltjq1.fsf@linux.ibm.com> (raw) In-Reply-To: <157309901138.1582359.12909354140826530394.stgit@dwillia2-desk3.amr.corp.intel.com> Dan Williams <dan.j.williams@intel.com> writes: > A 'struct device_type' instance can carry default attributes for the > device. Use this facility to remove the export of > nd_device_attribute_group and put the responsibility on the core rather > than leaf implementations to define this attribute. > > For regions this creates a new nd_region_attribute_groups[] added to the > per-region device-type instances. > Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com> > Cc: Ira Weiny <ira.weiny@intel.com> > Cc: Michael Ellerman <mpe@ellerman.id.au> > Cc: "Oliver O'Halloran" <oohall@gmail.com> > Cc: Vishal Verma <vishal.l.verma@intel.com> > Cc: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com> > Signed-off-by: Dan Williams <dan.j.williams@intel.com> > --- > arch/powerpc/platforms/pseries/papr_scm.c | 2 -- > drivers/acpi/nfit/core.c | 2 -- > drivers/nvdimm/bus.c | 3 +-- > drivers/nvdimm/dimm_devs.c | 8 +++++++- > drivers/nvdimm/e820.c | 1 - > drivers/nvdimm/nd.h | 1 + > drivers/nvdimm/of_pmem.c | 1 - > drivers/nvdimm/region_devs.c | 18 +++++++++++++----- > include/linux/libnvdimm.h | 1 - > 9 files changed, 22 insertions(+), 15 deletions(-) > > diff --git a/arch/powerpc/platforms/pseries/papr_scm.c b/arch/powerpc/platforms/pseries/papr_scm.c > index 61883291defc..04726f8fd189 100644 > --- a/arch/powerpc/platforms/pseries/papr_scm.c > +++ b/arch/powerpc/platforms/pseries/papr_scm.c > @@ -286,7 +286,6 @@ int papr_scm_ndctl(struct nvdimm_bus_descriptor *nd_desc, struct nvdimm *nvdimm, > > static const struct attribute_group *region_attr_groups[] = { > &nd_region_attribute_group, > - &nd_device_attribute_group, > &nd_mapping_attribute_group, > &nd_numa_attribute_group, > NULL, > @@ -299,7 +298,6 @@ static const struct attribute_group *bus_attr_groups[] = { > > static const struct attribute_group *papr_scm_dimm_groups[] = { > &nvdimm_attribute_group, > - &nd_device_attribute_group, > NULL, > }; > > diff --git a/drivers/acpi/nfit/core.c b/drivers/acpi/nfit/core.c > index 14e68f202f81..dec7c2b08672 100644 > --- a/drivers/acpi/nfit/core.c > +++ b/drivers/acpi/nfit/core.c > @@ -1699,7 +1699,6 @@ static const struct attribute_group acpi_nfit_dimm_attribute_group = { > > static const struct attribute_group *acpi_nfit_dimm_attribute_groups[] = { > &nvdimm_attribute_group, > - &nd_device_attribute_group, > &acpi_nfit_dimm_attribute_group, > NULL, > }; > @@ -2199,7 +2198,6 @@ static const struct attribute_group acpi_nfit_region_attribute_group = { > static const struct attribute_group *acpi_nfit_region_attribute_groups[] = { > &nd_region_attribute_group, > &nd_mapping_attribute_group, > - &nd_device_attribute_group, > &nd_numa_attribute_group, > &acpi_nfit_region_attribute_group, > NULL, > diff --git a/drivers/nvdimm/bus.c b/drivers/nvdimm/bus.c > index d47412dcdf38..eb422527dd57 100644 > --- a/drivers/nvdimm/bus.c > +++ b/drivers/nvdimm/bus.c > @@ -669,10 +669,9 @@ static struct attribute *nd_device_attributes[] = { > /* > * nd_device_attribute_group - generic attributes for all devices on an nd bus > */ > -struct attribute_group nd_device_attribute_group = { > +const struct attribute_group nd_device_attribute_group = { > .attrs = nd_device_attributes, > }; > -EXPORT_SYMBOL_GPL(nd_device_attribute_group); > > static ssize_t numa_node_show(struct device *dev, > struct device_attribute *attr, char *buf) > diff --git a/drivers/nvdimm/dimm_devs.c b/drivers/nvdimm/dimm_devs.c > index 196aa44c4936..278867c68682 100644 > --- a/drivers/nvdimm/dimm_devs.c > +++ b/drivers/nvdimm/dimm_devs.c > @@ -202,9 +202,15 @@ static void nvdimm_release(struct device *dev) > kfree(nvdimm); > } > > -static struct device_type nvdimm_device_type = { > +static const struct attribute_group *nvdimm_attribute_groups[] = { > + &nd_device_attribute_group, > + NULL, > +}; > + > +static const struct device_type nvdimm_device_type = { > .name = "nvdimm", > .release = nvdimm_release, > + .groups = nvdimm_attribute_groups, > }; > > bool is_nvdimm(struct device *dev) > diff --git a/drivers/nvdimm/e820.c b/drivers/nvdimm/e820.c > index 87f72f725e4f..adde2864c6a4 100644 > --- a/drivers/nvdimm/e820.c > +++ b/drivers/nvdimm/e820.c > @@ -15,7 +15,6 @@ static const struct attribute_group *e820_pmem_attribute_groups[] = { > > static const struct attribute_group *e820_pmem_region_attribute_groups[] = { > &nd_region_attribute_group, > - &nd_device_attribute_group, > NULL, > }; > > diff --git a/drivers/nvdimm/nd.h b/drivers/nvdimm/nd.h > index 5c8b077b3237..3f509bb6b5c0 100644 > --- a/drivers/nvdimm/nd.h > +++ b/drivers/nvdimm/nd.h > @@ -298,6 +298,7 @@ struct device *nd_pfn_devinit(struct nd_pfn *nd_pfn, > struct nd_namespace_common *ndns); > int nd_pfn_validate(struct nd_pfn *nd_pfn, const char *sig); > extern const struct attribute_group *nd_pfn_attribute_groups[]; > +extern const struct attribute_group nd_device_attribute_group; > #else > static inline int nd_pfn_probe(struct device *dev, > struct nd_namespace_common *ndns) > diff --git a/drivers/nvdimm/of_pmem.c b/drivers/nvdimm/of_pmem.c > index 97187d6c0bdb..41348fa6b74c 100644 > --- a/drivers/nvdimm/of_pmem.c > +++ b/drivers/nvdimm/of_pmem.c > @@ -11,7 +11,6 @@ > > static const struct attribute_group *region_attr_groups[] = { > &nd_region_attribute_group, > - &nd_device_attribute_group, > NULL, > }; > > diff --git a/drivers/nvdimm/region_devs.c b/drivers/nvdimm/region_devs.c > index e89f2eb3678c..710b5111eaa8 100644 > --- a/drivers/nvdimm/region_devs.c > +++ b/drivers/nvdimm/region_devs.c > @@ -763,19 +763,27 @@ struct attribute_group nd_region_attribute_group = { > }; > EXPORT_SYMBOL_GPL(nd_region_attribute_group); > > -static struct device_type nd_blk_device_type = { > +static const struct attribute_group *nd_region_attribute_groups[] = { > + &nd_device_attribute_group, > + NULL, > +}; > + > +static const struct device_type nd_blk_device_type = { > .name = "nd_blk", > .release = nd_region_release, > + .groups = nd_region_attribute_groups, > }; > > -static struct device_type nd_pmem_device_type = { > +static const struct device_type nd_pmem_device_type = { > .name = "nd_pmem", > .release = nd_region_release, > + .groups = nd_region_attribute_groups, > }; > > -static struct device_type nd_volatile_device_type = { > +static const struct device_type nd_volatile_device_type = { > .name = "nd_volatile", > .release = nd_region_release, > + .groups = nd_region_attribute_groups, > }; > > bool is_nd_pmem(struct device *dev) > @@ -931,8 +939,8 @@ void nd_region_release_lane(struct nd_region *nd_region, unsigned int lane) > EXPORT_SYMBOL(nd_region_release_lane); > > static struct nd_region *nd_region_create(struct nvdimm_bus *nvdimm_bus, > - struct nd_region_desc *ndr_desc, struct device_type *dev_type, > - const char *caller) > + struct nd_region_desc *ndr_desc, > + const struct device_type *dev_type, const char *caller) > { > struct nd_region *nd_region; > struct device *dev; > diff --git a/include/linux/libnvdimm.h b/include/linux/libnvdimm.h > index b6eddf912568..d7dbf42498af 100644 > --- a/include/linux/libnvdimm.h > +++ b/include/linux/libnvdimm.h > @@ -67,7 +67,6 @@ enum { > > extern struct attribute_group nvdimm_bus_attribute_group; > extern struct attribute_group nvdimm_attribute_group; > -extern struct attribute_group nd_device_attribute_group; > extern struct attribute_group nd_numa_attribute_group; > extern struct attribute_group nd_region_attribute_group; > extern struct attribute_group nd_mapping_attribute_group; > _______________________________________________ > Linux-nvdimm mailing list -- linux-nvdimm@lists.01.org > To unsubscribe send an email to linux-nvdimm-leave@lists.01.org _______________________________________________ Linux-nvdimm mailing list -- linux-nvdimm@lists.01.org To unsubscribe send an email to linux-nvdimm-leave@lists.01.org
WARNING: multiple messages have this Message-ID (diff)
From: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com> To: Dan Williams <dan.j.williams@intel.com>, linux-nvdimm@lists.01.org Cc: Michael Ellerman <mpe@ellerman.id.au>, peterz@infradead.org, dave.hansen@linux.intel.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: Re: [PATCH 03/16] libnvdimm: Move nd_device_attribute_group to device_type Date: Tue, 12 Nov 2019 17:00:46 +0530 [thread overview] Message-ID: <878soltjq1.fsf@linux.ibm.com> (raw) In-Reply-To: <157309901138.1582359.12909354140826530394.stgit@dwillia2-desk3.amr.corp.intel.com> Dan Williams <dan.j.williams@intel.com> writes: > A 'struct device_type' instance can carry default attributes for the > device. Use this facility to remove the export of > nd_device_attribute_group and put the responsibility on the core rather > than leaf implementations to define this attribute. > > For regions this creates a new nd_region_attribute_groups[] added to the > per-region device-type instances. > Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com> > Cc: Ira Weiny <ira.weiny@intel.com> > Cc: Michael Ellerman <mpe@ellerman.id.au> > Cc: "Oliver O'Halloran" <oohall@gmail.com> > Cc: Vishal Verma <vishal.l.verma@intel.com> > Cc: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com> > Signed-off-by: Dan Williams <dan.j.williams@intel.com> > --- > arch/powerpc/platforms/pseries/papr_scm.c | 2 -- > drivers/acpi/nfit/core.c | 2 -- > drivers/nvdimm/bus.c | 3 +-- > drivers/nvdimm/dimm_devs.c | 8 +++++++- > drivers/nvdimm/e820.c | 1 - > drivers/nvdimm/nd.h | 1 + > drivers/nvdimm/of_pmem.c | 1 - > drivers/nvdimm/region_devs.c | 18 +++++++++++++----- > include/linux/libnvdimm.h | 1 - > 9 files changed, 22 insertions(+), 15 deletions(-) > > diff --git a/arch/powerpc/platforms/pseries/papr_scm.c b/arch/powerpc/platforms/pseries/papr_scm.c > index 61883291defc..04726f8fd189 100644 > --- a/arch/powerpc/platforms/pseries/papr_scm.c > +++ b/arch/powerpc/platforms/pseries/papr_scm.c > @@ -286,7 +286,6 @@ int papr_scm_ndctl(struct nvdimm_bus_descriptor *nd_desc, struct nvdimm *nvdimm, > > static const struct attribute_group *region_attr_groups[] = { > &nd_region_attribute_group, > - &nd_device_attribute_group, > &nd_mapping_attribute_group, > &nd_numa_attribute_group, > NULL, > @@ -299,7 +298,6 @@ static const struct attribute_group *bus_attr_groups[] = { > > static const struct attribute_group *papr_scm_dimm_groups[] = { > &nvdimm_attribute_group, > - &nd_device_attribute_group, > NULL, > }; > > diff --git a/drivers/acpi/nfit/core.c b/drivers/acpi/nfit/core.c > index 14e68f202f81..dec7c2b08672 100644 > --- a/drivers/acpi/nfit/core.c > +++ b/drivers/acpi/nfit/core.c > @@ -1699,7 +1699,6 @@ static const struct attribute_group acpi_nfit_dimm_attribute_group = { > > static const struct attribute_group *acpi_nfit_dimm_attribute_groups[] = { > &nvdimm_attribute_group, > - &nd_device_attribute_group, > &acpi_nfit_dimm_attribute_group, > NULL, > }; > @@ -2199,7 +2198,6 @@ static const struct attribute_group acpi_nfit_region_attribute_group = { > static const struct attribute_group *acpi_nfit_region_attribute_groups[] = { > &nd_region_attribute_group, > &nd_mapping_attribute_group, > - &nd_device_attribute_group, > &nd_numa_attribute_group, > &acpi_nfit_region_attribute_group, > NULL, > diff --git a/drivers/nvdimm/bus.c b/drivers/nvdimm/bus.c > index d47412dcdf38..eb422527dd57 100644 > --- a/drivers/nvdimm/bus.c > +++ b/drivers/nvdimm/bus.c > @@ -669,10 +669,9 @@ static struct attribute *nd_device_attributes[] = { > /* > * nd_device_attribute_group - generic attributes for all devices on an nd bus > */ > -struct attribute_group nd_device_attribute_group = { > +const struct attribute_group nd_device_attribute_group = { > .attrs = nd_device_attributes, > }; > -EXPORT_SYMBOL_GPL(nd_device_attribute_group); > > static ssize_t numa_node_show(struct device *dev, > struct device_attribute *attr, char *buf) > diff --git a/drivers/nvdimm/dimm_devs.c b/drivers/nvdimm/dimm_devs.c > index 196aa44c4936..278867c68682 100644 > --- a/drivers/nvdimm/dimm_devs.c > +++ b/drivers/nvdimm/dimm_devs.c > @@ -202,9 +202,15 @@ static void nvdimm_release(struct device *dev) > kfree(nvdimm); > } > > -static struct device_type nvdimm_device_type = { > +static const struct attribute_group *nvdimm_attribute_groups[] = { > + &nd_device_attribute_group, > + NULL, > +}; > + > +static const struct device_type nvdimm_device_type = { > .name = "nvdimm", > .release = nvdimm_release, > + .groups = nvdimm_attribute_groups, > }; > > bool is_nvdimm(struct device *dev) > diff --git a/drivers/nvdimm/e820.c b/drivers/nvdimm/e820.c > index 87f72f725e4f..adde2864c6a4 100644 > --- a/drivers/nvdimm/e820.c > +++ b/drivers/nvdimm/e820.c > @@ -15,7 +15,6 @@ static const struct attribute_group *e820_pmem_attribute_groups[] = { > > static const struct attribute_group *e820_pmem_region_attribute_groups[] = { > &nd_region_attribute_group, > - &nd_device_attribute_group, > NULL, > }; > > diff --git a/drivers/nvdimm/nd.h b/drivers/nvdimm/nd.h > index 5c8b077b3237..3f509bb6b5c0 100644 > --- a/drivers/nvdimm/nd.h > +++ b/drivers/nvdimm/nd.h > @@ -298,6 +298,7 @@ struct device *nd_pfn_devinit(struct nd_pfn *nd_pfn, > struct nd_namespace_common *ndns); > int nd_pfn_validate(struct nd_pfn *nd_pfn, const char *sig); > extern const struct attribute_group *nd_pfn_attribute_groups[]; > +extern const struct attribute_group nd_device_attribute_group; > #else > static inline int nd_pfn_probe(struct device *dev, > struct nd_namespace_common *ndns) > diff --git a/drivers/nvdimm/of_pmem.c b/drivers/nvdimm/of_pmem.c > index 97187d6c0bdb..41348fa6b74c 100644 > --- a/drivers/nvdimm/of_pmem.c > +++ b/drivers/nvdimm/of_pmem.c > @@ -11,7 +11,6 @@ > > static const struct attribute_group *region_attr_groups[] = { > &nd_region_attribute_group, > - &nd_device_attribute_group, > NULL, > }; > > diff --git a/drivers/nvdimm/region_devs.c b/drivers/nvdimm/region_devs.c > index e89f2eb3678c..710b5111eaa8 100644 > --- a/drivers/nvdimm/region_devs.c > +++ b/drivers/nvdimm/region_devs.c > @@ -763,19 +763,27 @@ struct attribute_group nd_region_attribute_group = { > }; > EXPORT_SYMBOL_GPL(nd_region_attribute_group); > > -static struct device_type nd_blk_device_type = { > +static const struct attribute_group *nd_region_attribute_groups[] = { > + &nd_device_attribute_group, > + NULL, > +}; > + > +static const struct device_type nd_blk_device_type = { > .name = "nd_blk", > .release = nd_region_release, > + .groups = nd_region_attribute_groups, > }; > > -static struct device_type nd_pmem_device_type = { > +static const struct device_type nd_pmem_device_type = { > .name = "nd_pmem", > .release = nd_region_release, > + .groups = nd_region_attribute_groups, > }; > > -static struct device_type nd_volatile_device_type = { > +static const struct device_type nd_volatile_device_type = { > .name = "nd_volatile", > .release = nd_region_release, > + .groups = nd_region_attribute_groups, > }; > > bool is_nd_pmem(struct device *dev) > @@ -931,8 +939,8 @@ void nd_region_release_lane(struct nd_region *nd_region, unsigned int lane) > EXPORT_SYMBOL(nd_region_release_lane); > > static struct nd_region *nd_region_create(struct nvdimm_bus *nvdimm_bus, > - struct nd_region_desc *ndr_desc, struct device_type *dev_type, > - const char *caller) > + struct nd_region_desc *ndr_desc, > + const struct device_type *dev_type, const char *caller) > { > struct nd_region *nd_region; > struct device *dev; > diff --git a/include/linux/libnvdimm.h b/include/linux/libnvdimm.h > index b6eddf912568..d7dbf42498af 100644 > --- a/include/linux/libnvdimm.h > +++ b/include/linux/libnvdimm.h > @@ -67,7 +67,6 @@ enum { > > extern struct attribute_group nvdimm_bus_attribute_group; > extern struct attribute_group nvdimm_attribute_group; > -extern struct attribute_group nd_device_attribute_group; > extern struct attribute_group nd_numa_attribute_group; > extern struct attribute_group nd_region_attribute_group; > extern struct attribute_group nd_mapping_attribute_group; > _______________________________________________ > Linux-nvdimm mailing list -- linux-nvdimm@lists.01.org > To unsubscribe send an email to linux-nvdimm-leave@lists.01.org
next prev parent reply other threads:[~2019-11-12 11:33 UTC|newest] Thread overview: 79+ 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 ` Dan Williams 2019-11-07 3:56 ` [PATCH 01/16] libnvdimm: Move attribute groups to device type Dan Williams 2019-11-07 3:56 ` Dan Williams 2019-11-12 11:28 ` Aneesh Kumar K.V 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-07 3:56 ` Dan Williams 2019-11-12 11:29 ` Aneesh Kumar K.V 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-07 3:56 ` Dan Williams 2019-11-12 11:30 ` Aneesh Kumar K.V [this message] 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-07 3:56 ` Dan Williams 2019-11-12 9:22 ` Aneesh Kumar K.V 2019-11-12 9:22 ` Aneesh Kumar K.V 2019-11-13 1:26 ` Dan Williams 2019-11-13 1:26 ` Dan Williams 2019-11-13 1:26 ` Dan Williams 2019-11-13 6:02 ` Aneesh Kumar K.V 2019-11-13 6:02 ` Aneesh Kumar K.V 2019-11-13 6:14 ` Dan Williams 2019-11-13 6:14 ` Dan Williams 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-07 3:57 ` Dan Williams 2019-11-12 11:45 ` Aneesh Kumar K.V 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-07 3:57 ` Dan Williams 2019-11-12 11:45 ` Aneesh Kumar K.V 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-07 3:57 ` Dan Williams 2019-11-12 11:48 ` Aneesh Kumar K.V 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-07 3:57 ` Dan Williams 2019-11-12 11:48 ` Aneesh Kumar K.V 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-07 3:57 ` Dan Williams 2019-11-12 11:49 ` Aneesh Kumar K.V 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-07 3:57 ` Dan Williams 2019-11-12 11:49 ` Aneesh Kumar K.V 2019-11-12 11:49 ` Aneesh Kumar K.V 2019-11-07 3:57 ` [PATCH 11/16] libnvdimm: " Dan Williams 2019-11-07 3:57 ` Dan Williams 2019-11-12 11:50 ` Aneesh Kumar K.V 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-07 3:57 ` Dan Williams 2019-11-12 11:50 ` Aneesh Kumar K.V 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-07 3:57 ` Dan Williams 2019-11-11 11:30 ` Aneesh Kumar K.V 2019-11-11 11:30 ` Aneesh Kumar K.V 2019-11-11 23:38 ` Dan Williams 2019-11-11 23:38 ` Dan Williams 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 ` 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:57 ` Dan Williams 2019-11-07 3:58 ` [PATCH 16/16] libnvdimm/e820: Retrieve and populate correct 'target_node' info Dan Williams 2019-11-07 3:58 ` Dan Williams 2019-11-09 5:02 ` kbuild test robot 2019-11-09 5:02 ` kbuild test robot 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 11:42 ` Aneesh Kumar K.V 2019-11-12 19:37 ` Dan Williams 2019-11-12 19:37 ` Dan Williams 2019-11-12 19:37 ` Dan Williams
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=878soltjq1.fsf@linux.ibm.com \ --to=aneesh.kumar@linux.ibm.com \ --cc=dan.j.williams@intel.com \ --cc=dave.hansen@linux.intel.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mm@kvack.org \ --cc=linux-nvdimm@lists.01.org \ --cc=mpe@ellerman.id.au \ --cc=peterz@infradead.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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.