From: Christoph Hellwig <hch@lst.de> To: "Dan Williams" <dan.j.williams@intel.com>, "Jérôme Glisse" <jglisse@redhat.com>, "Jason Gunthorpe" <jgg@mellanox.com>, "Ben Skeggs" <bskeggs@redhat.com> Cc: Michal Hocko <mhocko@suse.com>, John Hubbard <jhubbard@nvidia.com>, linux-nvdimm@lists.01.org, linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-mm@kvack.org, nouveau@lists.freedesktop.org Subject: [PATCH 03/25] mm: remove hmm_devmem_add_resource Date: Wed, 26 Jun 2019 14:27:02 +0200 [thread overview] Message-ID: <20190626122724.13313-4-hch@lst.de> (raw) In-Reply-To: <20190626122724.13313-1-hch@lst.de> This function has never been used since it was first added to the kernel more than a year and a half ago, and if we ever grow a consumer of the MEMORY_DEVICE_PUBLIC infrastructure it can easily use devm_memremap_pages directly. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Jason Gunthorpe <jgg@mellanox.com> Reviewed-by: John Hubbard <jhubbard@nvidia.com> Acked-by: Michal Hocko <mhocko@suse.com> --- include/linux/hmm.h | 3 --- mm/hmm.c | 50 --------------------------------------------- 2 files changed, 53 deletions(-) diff --git a/include/linux/hmm.h b/include/linux/hmm.h index 99765be3284d..5c46b0f603fd 100644 --- a/include/linux/hmm.h +++ b/include/linux/hmm.h @@ -722,9 +722,6 @@ struct hmm_devmem { struct hmm_devmem *hmm_devmem_add(const struct hmm_devmem_ops *ops, struct device *device, unsigned long size); -struct hmm_devmem *hmm_devmem_add_resource(const struct hmm_devmem_ops *ops, - struct device *device, - struct resource *res); /* * hmm_devmem_page_set_drvdata - set per-page driver data field diff --git a/mm/hmm.c b/mm/hmm.c index 00cc642b3d7e..bd260a3b6b09 100644 --- a/mm/hmm.c +++ b/mm/hmm.c @@ -1478,54 +1478,4 @@ struct hmm_devmem *hmm_devmem_add(const struct hmm_devmem_ops *ops, return devmem; } EXPORT_SYMBOL_GPL(hmm_devmem_add); - -struct hmm_devmem *hmm_devmem_add_resource(const struct hmm_devmem_ops *ops, - struct device *device, - struct resource *res) -{ - struct hmm_devmem *devmem; - void *result; - int ret; - - if (res->desc != IORES_DESC_DEVICE_PUBLIC_MEMORY) - return ERR_PTR(-EINVAL); - - dev_pagemap_get_ops(); - - devmem = devm_kzalloc(device, sizeof(*devmem), GFP_KERNEL); - if (!devmem) - return ERR_PTR(-ENOMEM); - - init_completion(&devmem->completion); - devmem->pfn_first = -1UL; - devmem->pfn_last = -1UL; - devmem->resource = res; - devmem->device = device; - devmem->ops = ops; - - ret = percpu_ref_init(&devmem->ref, &hmm_devmem_ref_release, - 0, GFP_KERNEL); - if (ret) - return ERR_PTR(ret); - - devmem->pfn_first = devmem->resource->start >> PAGE_SHIFT; - devmem->pfn_last = devmem->pfn_first + - (resource_size(devmem->resource) >> PAGE_SHIFT); - devmem->page_fault = hmm_devmem_fault; - - devmem->pagemap.type = MEMORY_DEVICE_PUBLIC; - devmem->pagemap.res = *devmem->resource; - devmem->pagemap.page_free = hmm_devmem_free; - devmem->pagemap.altmap_valid = false; - devmem->pagemap.ref = &devmem->ref; - devmem->pagemap.data = devmem; - devmem->pagemap.kill = hmm_devmem_ref_kill; - devmem->pagemap.cleanup = hmm_devmem_ref_exit; - - result = devm_memremap_pages(devmem->device, &devmem->pagemap); - if (IS_ERR(result)) - return result; - return devmem; -} -EXPORT_SYMBOL_GPL(hmm_devmem_add_resource); #endif /* CONFIG_DEVICE_PRIVATE || CONFIG_DEVICE_PUBLIC */ -- 2.20.1 _______________________________________________ Linux-nvdimm mailing list Linux-nvdimm@lists.01.org https://lists.01.org/mailman/listinfo/linux-nvdimm
WARNING: multiple messages have this Message-ID (diff)
From: Christoph Hellwig <hch@lst.de> To: "Dan Williams" <dan.j.williams@intel.com>, "Jérôme Glisse" <jglisse@redhat.com>, "Jason Gunthorpe" <jgg@mellanox.com>, "Ben Skeggs" <bskeggs@redhat.com> Cc: linux-mm@kvack.org, nouveau@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-nvdimm@lists.01.org, linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, John Hubbard <jhubbard@nvidia.com>, Michal Hocko <mhocko@suse.com> Subject: [PATCH 03/25] mm: remove hmm_devmem_add_resource Date: Wed, 26 Jun 2019 14:27:02 +0200 [thread overview] Message-ID: <20190626122724.13313-4-hch@lst.de> (raw) In-Reply-To: <20190626122724.13313-1-hch@lst.de> This function has never been used since it was first added to the kernel more than a year and a half ago, and if we ever grow a consumer of the MEMORY_DEVICE_PUBLIC infrastructure it can easily use devm_memremap_pages directly. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Jason Gunthorpe <jgg@mellanox.com> Reviewed-by: John Hubbard <jhubbard@nvidia.com> Acked-by: Michal Hocko <mhocko@suse.com> --- include/linux/hmm.h | 3 --- mm/hmm.c | 50 --------------------------------------------- 2 files changed, 53 deletions(-) diff --git a/include/linux/hmm.h b/include/linux/hmm.h index 99765be3284d..5c46b0f603fd 100644 --- a/include/linux/hmm.h +++ b/include/linux/hmm.h @@ -722,9 +722,6 @@ struct hmm_devmem { struct hmm_devmem *hmm_devmem_add(const struct hmm_devmem_ops *ops, struct device *device, unsigned long size); -struct hmm_devmem *hmm_devmem_add_resource(const struct hmm_devmem_ops *ops, - struct device *device, - struct resource *res); /* * hmm_devmem_page_set_drvdata - set per-page driver data field diff --git a/mm/hmm.c b/mm/hmm.c index 00cc642b3d7e..bd260a3b6b09 100644 --- a/mm/hmm.c +++ b/mm/hmm.c @@ -1478,54 +1478,4 @@ struct hmm_devmem *hmm_devmem_add(const struct hmm_devmem_ops *ops, return devmem; } EXPORT_SYMBOL_GPL(hmm_devmem_add); - -struct hmm_devmem *hmm_devmem_add_resource(const struct hmm_devmem_ops *ops, - struct device *device, - struct resource *res) -{ - struct hmm_devmem *devmem; - void *result; - int ret; - - if (res->desc != IORES_DESC_DEVICE_PUBLIC_MEMORY) - return ERR_PTR(-EINVAL); - - dev_pagemap_get_ops(); - - devmem = devm_kzalloc(device, sizeof(*devmem), GFP_KERNEL); - if (!devmem) - return ERR_PTR(-ENOMEM); - - init_completion(&devmem->completion); - devmem->pfn_first = -1UL; - devmem->pfn_last = -1UL; - devmem->resource = res; - devmem->device = device; - devmem->ops = ops; - - ret = percpu_ref_init(&devmem->ref, &hmm_devmem_ref_release, - 0, GFP_KERNEL); - if (ret) - return ERR_PTR(ret); - - devmem->pfn_first = devmem->resource->start >> PAGE_SHIFT; - devmem->pfn_last = devmem->pfn_first + - (resource_size(devmem->resource) >> PAGE_SHIFT); - devmem->page_fault = hmm_devmem_fault; - - devmem->pagemap.type = MEMORY_DEVICE_PUBLIC; - devmem->pagemap.res = *devmem->resource; - devmem->pagemap.page_free = hmm_devmem_free; - devmem->pagemap.altmap_valid = false; - devmem->pagemap.ref = &devmem->ref; - devmem->pagemap.data = devmem; - devmem->pagemap.kill = hmm_devmem_ref_kill; - devmem->pagemap.cleanup = hmm_devmem_ref_exit; - - result = devm_memremap_pages(devmem->device, &devmem->pagemap); - if (IS_ERR(result)) - return result; - return devmem; -} -EXPORT_SYMBOL_GPL(hmm_devmem_add_resource); #endif /* CONFIG_DEVICE_PRIVATE || CONFIG_DEVICE_PUBLIC */ -- 2.20.1
next prev parent reply other threads:[~2019-06-26 12:27 UTC|newest] Thread overview: 142+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-06-26 12:26 dev_pagemap related cleanups v3 Christoph Hellwig 2019-06-26 12:26 ` Christoph Hellwig 2019-06-26 12:27 ` [PATCH 01/25] mm: remove the unused ARCH_HAS_HMM_DEVICE Kconfig option Christoph Hellwig 2019-06-26 12:27 ` [PATCH 02/25] mm: remove the struct hmm_device infrastructure Christoph Hellwig 2019-06-26 12:27 ` Christoph Hellwig 2019-06-26 12:27 ` Christoph Hellwig 2019-06-26 12:27 ` Christoph Hellwig [this message] 2019-06-26 12:27 ` [PATCH 03/25] mm: remove hmm_devmem_add_resource Christoph Hellwig 2019-06-27 16:18 ` Jason Gunthorpe 2019-06-27 16:54 ` Christoph Hellwig 2019-06-27 16:54 ` Christoph Hellwig 2019-06-26 12:27 ` [PATCH 04/25] mm: remove MEMORY_DEVICE_PUBLIC support Christoph Hellwig 2019-06-26 12:27 ` Christoph Hellwig 2019-06-26 12:27 ` Christoph Hellwig 2019-06-26 16:00 ` Dan Williams 2019-06-26 16:00 ` Dan Williams 2019-06-26 17:14 ` Ira Weiny 2019-06-26 17:14 ` Ira Weiny 2019-06-26 17:14 ` Ira Weiny 2019-06-26 18:49 ` Ira Weiny 2019-06-26 18:49 ` Ira Weiny 2019-06-26 18:49 ` Ira Weiny 2019-06-26 12:27 ` [PATCH 05/25] mm: don't clear ->mapping in hmm_devmem_free Christoph Hellwig 2019-06-26 12:27 ` Christoph Hellwig 2019-06-26 12:27 ` Christoph Hellwig 2019-06-26 12:27 ` [PATCH 06/25] mm: export alloc_pages_vma Christoph Hellwig 2019-06-26 12:27 ` Christoph Hellwig 2019-06-26 12:27 ` Christoph Hellwig 2019-06-26 12:36 ` Michal Hocko 2019-06-26 12:36 ` Michal Hocko 2019-06-26 12:27 ` [PATCH 07/25] mm: factor out a devm_request_free_mem_region helper Christoph Hellwig 2019-06-26 12:27 ` Christoph Hellwig 2019-06-26 12:27 ` Christoph Hellwig 2019-06-26 12:27 ` [PATCH 08/25] memremap: validate the pagemap type passed to devm_memremap_pages Christoph Hellwig 2019-06-26 12:27 ` Christoph Hellwig 2019-06-26 12:27 ` Christoph Hellwig 2019-06-26 18:01 ` Ira Weiny 2019-06-26 18:01 ` Ira Weiny 2019-06-26 12:27 ` [PATCH 09/25] memremap: move dev_pagemap callbacks into a separate structure Christoph Hellwig 2019-06-26 12:27 ` Christoph Hellwig 2019-06-26 12:27 ` [PATCH 10/25] memremap: pass a struct dev_pagemap to ->kill and ->cleanup Christoph Hellwig 2019-06-26 12:27 ` Christoph Hellwig 2019-06-26 12:27 ` Christoph Hellwig 2019-06-26 12:27 ` [PATCH 11/25] memremap: lift the devmap_enable manipulation into devm_memremap_pages Christoph Hellwig 2019-06-26 12:27 ` Christoph Hellwig 2019-06-26 12:27 ` Christoph Hellwig 2019-06-26 19:04 ` Ira Weiny 2019-06-26 19:04 ` Ira Weiny 2019-06-26 19:04 ` Ira Weiny 2019-06-27 8:50 ` Christoph Hellwig 2019-06-27 8:50 ` Christoph Hellwig 2019-06-26 12:27 ` [PATCH 12/25] memremap: add a migrate_to_ram method to struct dev_pagemap_ops Christoph Hellwig 2019-06-26 12:27 ` Christoph Hellwig 2019-06-26 12:27 ` Christoph Hellwig 2019-06-27 16:29 ` Jason Gunthorpe 2019-06-27 16:29 ` Jason Gunthorpe 2019-06-27 16:53 ` Christoph Hellwig 2019-06-27 16:53 ` Christoph Hellwig 2019-06-26 12:27 ` [PATCH 13/25] memremap: remove the data field in struct dev_pagemap Christoph Hellwig 2019-06-26 12:27 ` Christoph Hellwig 2019-06-26 12:27 ` Christoph Hellwig 2019-06-26 12:27 ` [PATCH 14/25] memremap: replace the altmap_valid field with a PGMAP_ALTMAP_VALID flag Christoph Hellwig 2019-06-26 12:27 ` Christoph Hellwig 2019-06-26 12:27 ` Christoph Hellwig 2019-06-26 21:13 ` Ira Weiny 2019-06-26 21:13 ` Ira Weiny 2019-06-26 12:27 ` [PATCH 15/25] memremap: provide an optional internal refcount in struct dev_pagemap Christoph Hellwig 2019-06-26 12:27 ` Christoph Hellwig 2019-06-26 12:27 ` Christoph Hellwig 2019-06-26 21:47 ` Ira Weiny 2019-06-26 21:47 ` Ira Weiny 2019-06-27 8:51 ` Christoph Hellwig 2019-06-27 8:51 ` Christoph Hellwig 2019-06-26 12:27 ` [PATCH 16/25] device-dax: use the dev_pagemap internal refcount Christoph Hellwig 2019-06-26 12:27 ` Christoph Hellwig 2019-06-26 12:27 ` Christoph Hellwig 2019-06-26 21:48 ` Ira Weiny 2019-06-26 21:48 ` Ira Weiny 2019-06-26 21:48 ` Ira Weiny 2019-06-28 15:38 ` Jason Gunthorpe 2019-06-28 16:27 ` Dan Williams 2019-06-28 16:27 ` Dan Williams 2019-06-28 17:02 ` Jason Gunthorpe 2019-06-28 17:02 ` Jason Gunthorpe 2019-06-28 17:08 ` Dan Williams 2019-06-28 17:10 ` Dan Williams 2019-06-28 17:10 ` Dan Williams 2019-06-28 18:29 ` Jason Gunthorpe 2019-06-28 18:29 ` Jason Gunthorpe 2019-06-28 18:44 ` Dan Williams 2019-06-28 18:51 ` Christoph Hellwig 2019-06-28 18:51 ` Christoph Hellwig 2019-06-28 18:59 ` Dan Williams 2019-06-28 18:59 ` Dan Williams 2019-06-28 19:02 ` Christoph Hellwig 2019-06-28 19:02 ` Christoph Hellwig 2019-06-28 19:14 ` Dan Williams 2019-06-28 19:14 ` Dan Williams 2019-06-28 19:14 ` Dan Williams 2019-07-02 22:35 ` Andrew Morton 2019-07-02 22:35 ` Andrew Morton 2019-07-02 22:35 ` Andrew Morton 2019-06-26 12:27 ` [PATCH 17/25] PCI/P2PDMA: " Christoph Hellwig 2019-06-26 12:27 ` Christoph Hellwig 2019-06-26 12:27 ` Christoph Hellwig 2019-06-26 21:49 ` Ira Weiny 2019-06-26 21:49 ` Ira Weiny 2019-06-26 21:49 ` Ira Weiny 2019-06-27 18:49 ` Logan Gunthorpe 2019-06-26 12:27 ` [PATCH 18/25] nouveau: use alloc_page_vma directly Christoph Hellwig 2019-06-26 12:27 ` Christoph Hellwig 2019-06-26 12:27 ` Christoph Hellwig 2019-06-26 12:27 ` [PATCH 19/25] nouveau: use devm_memremap_pages directly Christoph Hellwig 2019-06-26 12:27 ` Christoph Hellwig 2019-06-26 12:27 ` Christoph Hellwig 2019-06-26 12:27 ` [PATCH 20/25] mm: remove hmm_vma_alloc_locked_page Christoph Hellwig 2019-06-26 12:27 ` Christoph Hellwig 2019-06-26 12:27 ` Christoph Hellwig 2019-06-27 16:26 ` Jason Gunthorpe 2019-06-26 12:27 ` [PATCH 21/25] mm: remove hmm_devmem_add Christoph Hellwig 2019-06-26 12:27 ` Christoph Hellwig 2019-06-26 12:27 ` [PATCH 22/25] mm: simplify ZONE_DEVICE page private data Christoph Hellwig 2019-06-26 12:27 ` Christoph Hellwig 2019-06-26 12:27 ` Christoph Hellwig 2019-06-26 12:27 ` [PATCH 23/25] mm: sort out the DEVICE_PRIVATE Kconfig mess Christoph Hellwig 2019-06-26 12:27 ` Christoph Hellwig 2019-06-26 12:27 ` Christoph Hellwig 2019-06-26 21:36 ` Ira Weiny 2019-06-26 21:36 ` Ira Weiny 2019-06-26 12:27 ` [PATCH 24/25] mm: remove the HMM config option Christoph Hellwig 2019-06-26 12:27 ` Christoph Hellwig 2019-06-26 12:27 ` Christoph Hellwig 2019-06-26 21:38 ` Ira Weiny 2019-06-26 21:38 ` Ira Weiny 2019-06-26 21:38 ` Ira Weiny 2019-06-27 16:29 ` Jason Gunthorpe 2019-06-26 12:27 ` [PATCH 25/25] mm: don't select MIGRATE_VMA_HELPER from HMM_MIRROR Christoph Hellwig 2019-06-26 12:27 ` Christoph Hellwig 2019-06-26 12:27 ` Christoph Hellwig -- strict thread matches above, loose matches on Subject: below -- 2019-06-17 12:27 dev_pagemap related cleanups v2 Christoph Hellwig 2019-06-17 12:27 ` [PATCH 03/25] mm: remove hmm_devmem_add_resource Christoph Hellwig 2019-06-17 12:27 ` Christoph Hellwig 2019-06-17 12:27 ` Christoph Hellwig
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=20190626122724.13313-4-hch@lst.de \ --to=hch@lst.de \ --cc=bskeggs@redhat.com \ --cc=dan.j.williams@intel.com \ --cc=dri-devel@lists.freedesktop.org \ --cc=jgg@mellanox.com \ --cc=jglisse@redhat.com \ --cc=jhubbard@nvidia.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mm@kvack.org \ --cc=linux-nvdimm@lists.01.org \ --cc=linux-pci@vger.kernel.org \ --cc=mhocko@suse.com \ --cc=nouveau@lists.freedesktop.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.