Message ID | 20200811094447.31208-2-roger.pau@citrix.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | xen/balloon: fixes for memory hotplug | expand |
On 11.08.20 11:44, Roger Pau Monne wrote: > This is in preparation for the logic behind MEMORY_DEVICE_DEVDAX also > being used by non DAX devices. > > No functional change intended. > > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com> > --- > Cc: Dan Williams <dan.j.williams@intel.com> > Cc: Vishal Verma <vishal.l.verma@intel.com> > Cc: Dave Jiang <dave.jiang@intel.com> > Cc: Andrew Morton <akpm@linux-foundation.org> > Cc: Jason Gunthorpe <jgg@ziepe.ca> > Cc: Ira Weiny <ira.weiny@intel.com> > Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com> > Cc: Johannes Thumshirn <jthumshirn@suse.de> > Cc: Logan Gunthorpe <logang@deltatee.com> > Cc: linux-nvdimm@lists.01.org > Cc: xen-devel@lists.xenproject.org > Cc: linux-mm@kvack.org > --- > drivers/dax/device.c | 2 +- > include/linux/memremap.h | 9 ++++----- > mm/memremap.c | 2 +- > 3 files changed, 6 insertions(+), 7 deletions(-) > > diff --git a/drivers/dax/device.c b/drivers/dax/device.c > index 4c0af2eb7e19..1e89513f3c59 100644 > --- a/drivers/dax/device.c > +++ b/drivers/dax/device.c > @@ -429,7 +429,7 @@ int dev_dax_probe(struct device *dev) > return -EBUSY; > } > > - dev_dax->pgmap.type = MEMORY_DEVICE_DEVDAX; > + dev_dax->pgmap.type = MEMORY_DEVICE_GENERIC; > addr = devm_memremap_pages(dev, &dev_dax->pgmap); > if (IS_ERR(addr)) > return PTR_ERR(addr); > diff --git a/include/linux/memremap.h b/include/linux/memremap.h > index 5f5b2df06e61..e5862746751b 100644 > --- a/include/linux/memremap.h > +++ b/include/linux/memremap.h > @@ -46,11 +46,10 @@ struct vmem_altmap { > * wakeup is used to coordinate physical address space management (ex: > * fs truncate/hole punch) vs pinned pages (ex: device dma). > * > - * MEMORY_DEVICE_DEVDAX: > + * MEMORY_DEVICE_GENERIC: > * Host memory that has similar access semantics as System RAM i.e. DMA > - * coherent and supports page pinning. In contrast to > - * MEMORY_DEVICE_FS_DAX, this memory is access via a device-dax > - * character device. > + * coherent and supports page pinning. This is for example used by DAX devices > + * that expose memory using a character device. > * > * MEMORY_DEVICE_PCI_P2PDMA: > * Device memory residing in a PCI BAR intended for use with Peer-to-Peer > @@ -60,7 +59,7 @@ enum memory_type { > /* 0 is reserved to catch uninitialized type fields */ > MEMORY_DEVICE_PRIVATE = 1, > MEMORY_DEVICE_FS_DAX, > - MEMORY_DEVICE_DEVDAX, > + MEMORY_DEVICE_GENERIC, > MEMORY_DEVICE_PCI_P2PDMA, > }; > > diff --git a/mm/memremap.c b/mm/memremap.c > index 03e38b7a38f1..006dace60b1a 100644 > --- a/mm/memremap.c > +++ b/mm/memremap.c > @@ -216,7 +216,7 @@ void *memremap_pages(struct dev_pagemap *pgmap, int nid) > return ERR_PTR(-EINVAL); > } > break; > - case MEMORY_DEVICE_DEVDAX: > + case MEMORY_DEVICE_GENERIC: > need_devmap_managed = false; > break; > case MEMORY_DEVICE_PCI_P2PDMA: > No strong opinion (@Dan?), I do wonder if a separate type would make sense.
On Tue, Aug 11, 2020 at 11:07:36PM +0200, David Hildenbrand wrote: > On 11.08.20 11:44, Roger Pau Monne wrote: > > This is in preparation for the logic behind MEMORY_DEVICE_DEVDAX also > > being used by non DAX devices. > > > > No functional change intended. > > > > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com> > > --- > > Cc: Dan Williams <dan.j.williams@intel.com> > > Cc: Vishal Verma <vishal.l.verma@intel.com> > > Cc: Dave Jiang <dave.jiang@intel.com> > > Cc: Andrew Morton <akpm@linux-foundation.org> > > Cc: Jason Gunthorpe <jgg@ziepe.ca> > > Cc: Ira Weiny <ira.weiny@intel.com> > > Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com> > > Cc: Johannes Thumshirn <jthumshirn@suse.de> > > Cc: Logan Gunthorpe <logang@deltatee.com> > > Cc: linux-nvdimm@lists.01.org > > Cc: xen-devel@lists.xenproject.org > > Cc: linux-mm@kvack.org > > --- > > drivers/dax/device.c | 2 +- > > include/linux/memremap.h | 9 ++++----- > > mm/memremap.c | 2 +- > > 3 files changed, 6 insertions(+), 7 deletions(-) > > > > diff --git a/drivers/dax/device.c b/drivers/dax/device.c > > index 4c0af2eb7e19..1e89513f3c59 100644 > > --- a/drivers/dax/device.c > > +++ b/drivers/dax/device.c > > @@ -429,7 +429,7 @@ int dev_dax_probe(struct device *dev) > > return -EBUSY; > > } > > > > - dev_dax->pgmap.type = MEMORY_DEVICE_DEVDAX; > > + dev_dax->pgmap.type = MEMORY_DEVICE_GENERIC; > > addr = devm_memremap_pages(dev, &dev_dax->pgmap); > > if (IS_ERR(addr)) > > return PTR_ERR(addr); > > diff --git a/include/linux/memremap.h b/include/linux/memremap.h > > index 5f5b2df06e61..e5862746751b 100644 > > --- a/include/linux/memremap.h > > +++ b/include/linux/memremap.h > > @@ -46,11 +46,10 @@ struct vmem_altmap { > > * wakeup is used to coordinate physical address space management (ex: > > * fs truncate/hole punch) vs pinned pages (ex: device dma). > > * > > - * MEMORY_DEVICE_DEVDAX: > > + * MEMORY_DEVICE_GENERIC: > > * Host memory that has similar access semantics as System RAM i.e. DMA > > - * coherent and supports page pinning. In contrast to > > - * MEMORY_DEVICE_FS_DAX, this memory is access via a device-dax > > - * character device. > > + * coherent and supports page pinning. This is for example used by DAX devices > > + * that expose memory using a character device. > > * > > * MEMORY_DEVICE_PCI_P2PDMA: > > * Device memory residing in a PCI BAR intended for use with Peer-to-Peer > > @@ -60,7 +59,7 @@ enum memory_type { > > /* 0 is reserved to catch uninitialized type fields */ > > MEMORY_DEVICE_PRIVATE = 1, > > MEMORY_DEVICE_FS_DAX, > > - MEMORY_DEVICE_DEVDAX, > > + MEMORY_DEVICE_GENERIC, > > MEMORY_DEVICE_PCI_P2PDMA, > > }; > > > > diff --git a/mm/memremap.c b/mm/memremap.c > > index 03e38b7a38f1..006dace60b1a 100644 > > --- a/mm/memremap.c > > +++ b/mm/memremap.c > > @@ -216,7 +216,7 @@ void *memremap_pages(struct dev_pagemap *pgmap, int nid) > > return ERR_PTR(-EINVAL); > > } > > break; > > - case MEMORY_DEVICE_DEVDAX: > > + case MEMORY_DEVICE_GENERIC: > > need_devmap_managed = false; > > break; > > case MEMORY_DEVICE_PCI_P2PDMA: > > > > No strong opinion (@Dan?), I do wonder if a separate type would make sense. Gentle ping. Thanks, Roger.
On Thu, Aug 20, 2020 at 01:37:41PM +0200, Roger Pau Monné wrote: > On Tue, Aug 11, 2020 at 11:07:36PM +0200, David Hildenbrand wrote: > > On 11.08.20 11:44, Roger Pau Monne wrote: > > > This is in preparation for the logic behind MEMORY_DEVICE_DEVDAX also > > > being used by non DAX devices. > > > > > > No functional change intended. > > > > > > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com> > > > --- > > > Cc: Dan Williams <dan.j.williams@intel.com> > > > Cc: Vishal Verma <vishal.l.verma@intel.com> > > > Cc: Dave Jiang <dave.jiang@intel.com> > > > Cc: Andrew Morton <akpm@linux-foundation.org> > > > Cc: Jason Gunthorpe <jgg@ziepe.ca> > > > Cc: Ira Weiny <ira.weiny@intel.com> > > > Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com> > > > Cc: Johannes Thumshirn <jthumshirn@suse.de> > > > Cc: Logan Gunthorpe <logang@deltatee.com> > > > Cc: linux-nvdimm@lists.01.org > > > Cc: xen-devel@lists.xenproject.org > > > Cc: linux-mm@kvack.org > > > --- > > > drivers/dax/device.c | 2 +- > > > include/linux/memremap.h | 9 ++++----- > > > mm/memremap.c | 2 +- > > > 3 files changed, 6 insertions(+), 7 deletions(-) > > > > > > diff --git a/drivers/dax/device.c b/drivers/dax/device.c > > > index 4c0af2eb7e19..1e89513f3c59 100644 > > > --- a/drivers/dax/device.c > > > +++ b/drivers/dax/device.c > > > @@ -429,7 +429,7 @@ int dev_dax_probe(struct device *dev) > > > return -EBUSY; > > > } > > > > > > - dev_dax->pgmap.type = MEMORY_DEVICE_DEVDAX; > > > + dev_dax->pgmap.type = MEMORY_DEVICE_GENERIC; > > > addr = devm_memremap_pages(dev, &dev_dax->pgmap); > > > if (IS_ERR(addr)) > > > return PTR_ERR(addr); > > > diff --git a/include/linux/memremap.h b/include/linux/memremap.h > > > index 5f5b2df06e61..e5862746751b 100644 > > > --- a/include/linux/memremap.h > > > +++ b/include/linux/memremap.h > > > @@ -46,11 +46,10 @@ struct vmem_altmap { > > > * wakeup is used to coordinate physical address space management (ex: > > > * fs truncate/hole punch) vs pinned pages (ex: device dma). > > > * > > > - * MEMORY_DEVICE_DEVDAX: > > > + * MEMORY_DEVICE_GENERIC: > > > * Host memory that has similar access semantics as System RAM i.e. DMA > > > - * coherent and supports page pinning. In contrast to > > > - * MEMORY_DEVICE_FS_DAX, this memory is access via a device-dax > > > - * character device. > > > + * coherent and supports page pinning. This is for example used by DAX devices > > > + * that expose memory using a character device. > > > * > > > * MEMORY_DEVICE_PCI_P2PDMA: > > > * Device memory residing in a PCI BAR intended for use with Peer-to-Peer > > > @@ -60,7 +59,7 @@ enum memory_type { > > > /* 0 is reserved to catch uninitialized type fields */ > > > MEMORY_DEVICE_PRIVATE = 1, > > > MEMORY_DEVICE_FS_DAX, > > > - MEMORY_DEVICE_DEVDAX, > > > + MEMORY_DEVICE_GENERIC, > > > MEMORY_DEVICE_PCI_P2PDMA, > > > }; > > > > > > diff --git a/mm/memremap.c b/mm/memremap.c > > > index 03e38b7a38f1..006dace60b1a 100644 > > > --- a/mm/memremap.c > > > +++ b/mm/memremap.c > > > @@ -216,7 +216,7 @@ void *memremap_pages(struct dev_pagemap *pgmap, int nid) > > > return ERR_PTR(-EINVAL); > > > } > > > break; > > > - case MEMORY_DEVICE_DEVDAX: > > > + case MEMORY_DEVICE_GENERIC: > > > need_devmap_managed = false; > > > break; > > > case MEMORY_DEVICE_PCI_P2PDMA: > > > > > > > No strong opinion (@Dan?), I do wonder if a separate type would make sense. > > Gentle ping. Sorry to ping again, but I would rather get this out of my queue if possible, seeing as the other patch is OK to go in but depends on this one going in first. Thanks, Roger.
On Tue, 11 Aug 2020 11:44:46 +0200 Roger Pau Monne <roger.pau@citrix.com> wrote: > This is in preparation for the logic behind MEMORY_DEVICE_DEVDAX also > being used by non DAX devices. Acked-by: Andrew Morton <akpm@linux-foundation.org>. Please add it to the Xen tree when appropriate. (I'm not sure what David means by "separate type", but we can do that later if desired. Dan is taking a taking a bit of downtime).
On Mon, Aug 31, 2020 at 12:19:07PM +0200, Roger Pau Monné wrote: > On Thu, Aug 20, 2020 at 01:37:41PM +0200, Roger Pau Monné wrote: > > On Tue, Aug 11, 2020 at 11:07:36PM +0200, David Hildenbrand wrote: > > > On 11.08.20 11:44, Roger Pau Monne wrote: > > > > This is in preparation for the logic behind MEMORY_DEVICE_DEVDAX also > > > > being used by non DAX devices. > > > > > > > > No functional change intended. > > > > > > > > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com> Dan is out on leave so I'll chime in. I can't really justify keeping this as DEVDAX if there is another user who needs the same type of mapping. Sorry for the delay. Reviewed-by: Ira Weiny <ira.weiny@intel.com> > > > > --- > > > > Cc: Dan Williams <dan.j.williams@intel.com> > > > > Cc: Vishal Verma <vishal.l.verma@intel.com> > > > > Cc: Dave Jiang <dave.jiang@intel.com> > > > > Cc: Andrew Morton <akpm@linux-foundation.org> > > > > Cc: Jason Gunthorpe <jgg@ziepe.ca> > > > > Cc: Ira Weiny <ira.weiny@intel.com> > > > > Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com> > > > > Cc: Johannes Thumshirn <jthumshirn@suse.de> > > > > Cc: Logan Gunthorpe <logang@deltatee.com> > > > > Cc: linux-nvdimm@lists.01.org > > > > Cc: xen-devel@lists.xenproject.org > > > > Cc: linux-mm@kvack.org > > > > --- > > > > drivers/dax/device.c | 2 +- > > > > include/linux/memremap.h | 9 ++++----- > > > > mm/memremap.c | 2 +- > > > > 3 files changed, 6 insertions(+), 7 deletions(-) > > > > > > > > diff --git a/drivers/dax/device.c b/drivers/dax/device.c > > > > index 4c0af2eb7e19..1e89513f3c59 100644 > > > > --- a/drivers/dax/device.c > > > > +++ b/drivers/dax/device.c > > > > @@ -429,7 +429,7 @@ int dev_dax_probe(struct device *dev) > > > > return -EBUSY; > > > > } > > > > > > > > - dev_dax->pgmap.type = MEMORY_DEVICE_DEVDAX; > > > > + dev_dax->pgmap.type = MEMORY_DEVICE_GENERIC; > > > > addr = devm_memremap_pages(dev, &dev_dax->pgmap); > > > > if (IS_ERR(addr)) > > > > return PTR_ERR(addr); > > > > diff --git a/include/linux/memremap.h b/include/linux/memremap.h > > > > index 5f5b2df06e61..e5862746751b 100644 > > > > --- a/include/linux/memremap.h > > > > +++ b/include/linux/memremap.h > > > > @@ -46,11 +46,10 @@ struct vmem_altmap { > > > > * wakeup is used to coordinate physical address space management (ex: > > > > * fs truncate/hole punch) vs pinned pages (ex: device dma). > > > > * > > > > - * MEMORY_DEVICE_DEVDAX: > > > > + * MEMORY_DEVICE_GENERIC: > > > > * Host memory that has similar access semantics as System RAM i.e. DMA > > > > - * coherent and supports page pinning. In contrast to > > > > - * MEMORY_DEVICE_FS_DAX, this memory is access via a device-dax > > > > - * character device. > > > > + * coherent and supports page pinning. This is for example used by DAX devices > > > > + * that expose memory using a character device. > > > > * > > > > * MEMORY_DEVICE_PCI_P2PDMA: > > > > * Device memory residing in a PCI BAR intended for use with Peer-to-Peer > > > > @@ -60,7 +59,7 @@ enum memory_type { > > > > /* 0 is reserved to catch uninitialized type fields */ > > > > MEMORY_DEVICE_PRIVATE = 1, > > > > MEMORY_DEVICE_FS_DAX, > > > > - MEMORY_DEVICE_DEVDAX, > > > > + MEMORY_DEVICE_GENERIC, > > > > MEMORY_DEVICE_PCI_P2PDMA, > > > > }; > > > > > > > > diff --git a/mm/memremap.c b/mm/memremap.c > > > > index 03e38b7a38f1..006dace60b1a 100644 > > > > --- a/mm/memremap.c > > > > +++ b/mm/memremap.c > > > > @@ -216,7 +216,7 @@ void *memremap_pages(struct dev_pagemap *pgmap, int nid) > > > > return ERR_PTR(-EINVAL); > > > > } > > > > break; > > > > - case MEMORY_DEVICE_DEVDAX: > > > > + case MEMORY_DEVICE_GENERIC: > > > > need_devmap_managed = false; > > > > break; > > > > case MEMORY_DEVICE_PCI_P2PDMA: > > > > > > > > > > No strong opinion (@Dan?), I do wonder if a separate type would make sense. > > > > Gentle ping. > > Sorry to ping again, but I would rather get this out of my queue if > possible, seeing as the other patch is OK to go in but depends on this > one going in first. > > Thanks, Roger.
diff --git a/drivers/dax/device.c b/drivers/dax/device.c index 4c0af2eb7e19..1e89513f3c59 100644 --- a/drivers/dax/device.c +++ b/drivers/dax/device.c @@ -429,7 +429,7 @@ int dev_dax_probe(struct device *dev) return -EBUSY; } - dev_dax->pgmap.type = MEMORY_DEVICE_DEVDAX; + dev_dax->pgmap.type = MEMORY_DEVICE_GENERIC; addr = devm_memremap_pages(dev, &dev_dax->pgmap); if (IS_ERR(addr)) return PTR_ERR(addr); diff --git a/include/linux/memremap.h b/include/linux/memremap.h index 5f5b2df06e61..e5862746751b 100644 --- a/include/linux/memremap.h +++ b/include/linux/memremap.h @@ -46,11 +46,10 @@ struct vmem_altmap { * wakeup is used to coordinate physical address space management (ex: * fs truncate/hole punch) vs pinned pages (ex: device dma). * - * MEMORY_DEVICE_DEVDAX: + * MEMORY_DEVICE_GENERIC: * Host memory that has similar access semantics as System RAM i.e. DMA - * coherent and supports page pinning. In contrast to - * MEMORY_DEVICE_FS_DAX, this memory is access via a device-dax - * character device. + * coherent and supports page pinning. This is for example used by DAX devices + * that expose memory using a character device. * * MEMORY_DEVICE_PCI_P2PDMA: * Device memory residing in a PCI BAR intended for use with Peer-to-Peer @@ -60,7 +59,7 @@ enum memory_type { /* 0 is reserved to catch uninitialized type fields */ MEMORY_DEVICE_PRIVATE = 1, MEMORY_DEVICE_FS_DAX, - MEMORY_DEVICE_DEVDAX, + MEMORY_DEVICE_GENERIC, MEMORY_DEVICE_PCI_P2PDMA, }; diff --git a/mm/memremap.c b/mm/memremap.c index 03e38b7a38f1..006dace60b1a 100644 --- a/mm/memremap.c +++ b/mm/memremap.c @@ -216,7 +216,7 @@ void *memremap_pages(struct dev_pagemap *pgmap, int nid) return ERR_PTR(-EINVAL); } break; - case MEMORY_DEVICE_DEVDAX: + case MEMORY_DEVICE_GENERIC: need_devmap_managed = false; break; case MEMORY_DEVICE_PCI_P2PDMA:
This is in preparation for the logic behind MEMORY_DEVICE_DEVDAX also being used by non DAX devices. No functional change intended. Signed-off-by: Roger Pau Monné <roger.pau@citrix.com> --- Cc: Dan Williams <dan.j.williams@intel.com> Cc: Vishal Verma <vishal.l.verma@intel.com> Cc: Dave Jiang <dave.jiang@intel.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Jason Gunthorpe <jgg@ziepe.ca> Cc: Ira Weiny <ira.weiny@intel.com> Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com> Cc: Johannes Thumshirn <jthumshirn@suse.de> Cc: Logan Gunthorpe <logang@deltatee.com> Cc: linux-nvdimm@lists.01.org Cc: xen-devel@lists.xenproject.org Cc: linux-mm@kvack.org --- drivers/dax/device.c | 2 +- include/linux/memremap.h | 9 ++++----- mm/memremap.c | 2 +- 3 files changed, 6 insertions(+), 7 deletions(-)