]> www.infradead.org Git - users/willy/linux.git/commit
mm, hmm: replace hmm_devmem_pages_create() with devm_memremap_pages()
authorDan Williams <dan.j.williams@intel.com>
Wed, 5 Dec 2018 00:13:40 +0000 (11:13 +1100)
committerStephen Rothwell <sfr@canb.auug.org.au>
Wed, 5 Dec 2018 00:13:40 +0000 (11:13 +1100)
commit56f7022ba569495cb61f95da1e5ab7ed977a611a
treec232bca42f2a553e88f7d19837515e693c483cf8
parentc6d12b02be13a084be75c251eace5b52ff49e731
mm, hmm: replace hmm_devmem_pages_create() with devm_memremap_pages()

e8d513483300 "memremap: change devm_memremap_pages interface to use struct
dev_pagemap" refactored devm_memremap_pages() to allow a dev_pagemap
instance to be supplied.  Passing in a dev_pagemap interface simplifies
the design of pgmap type drivers in that they can rely on container_of()
to lookup any private data associated with the given dev_pagemap instance.

In addition to the cleanups this also gives hmm users multi-order-radix
improvements that arrived with commit ab1b597ee0e4 "mm,
devm_memremap_pages: use multi-order radix for ZONE_DEVICE lookups"

As part of the conversion to the devm_memremap_pages() method of handling
the percpu_ref relative to when pages are put, the percpu_ref completion
needs to move to hmm_devmem_ref_exit().  See 71389703839e ("mm,
zone_device: Replace {get, put}_zone_device_page...") for details.

Link: http://lkml.kernel.org/r/154275560053.76910.10870962637383152392.stgit@dwillia2-desk3.amr.corp.intel.com
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Jérôme Glisse <jglisse@redhat.com>
Acked-by: Balbir Singh <bsingharora@gmail.com>
Cc: Logan Gunthorpe <logang@deltatee.com>
Cc: Michal Hocko <mhocko@suse.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
mm/hmm.c