Re: start sorting out the ZONE_DEVICE refcount mess

From: Logan Gunthorpe
Date: Mon Feb 07 2022 - 20:06:14 EST




On 2022-02-06 11:32 p.m., Christoph Hellwig wrote:
> Hi all,
>
> this series removes the offset by one refcount for ZONE_DEVICE pages
> that are freed back to the driver owning them, which is just device
> private ones for now, but also the planned device coherent pages
> and the ehanced p2p ones pending.
>
> It does not address the fsdax pages yet, which will be attacked in a
> follow on series.
>
> Diffstat:
> arch/arm64/mm/mmu.c | 1
> arch/powerpc/kvm/book3s_hv_uvmem.c | 1
> drivers/gpu/drm/amd/amdkfd/kfd_migrate.c | 2
> drivers/gpu/drm/amd/amdkfd/kfd_priv.h | 1
> drivers/gpu/drm/drm_cache.c | 2
> drivers/gpu/drm/nouveau/nouveau_dmem.c | 3 -
> drivers/gpu/drm/nouveau/nouveau_svm.c | 1
> drivers/infiniband/core/rw.c | 1
> drivers/nvdimm/pmem.h | 1
> drivers/nvme/host/pci.c | 1
> drivers/nvme/target/io-cmd-bdev.c | 1
> fs/Kconfig | 2
> fs/fuse/virtio_fs.c | 1
> include/linux/hmm.h | 9 ----
> include/linux/memremap.h | 22 +++++++++-
> include/linux/mm.h | 59 ++++-------------------------
> lib/test_hmm.c | 4 +
> mm/Kconfig | 4 -
> mm/internal.h | 2
> mm/memcontrol.c | 11 +----
> mm/memremap.c | 63 ++++++++++++++++---------------
> mm/migrate.c | 6 --
> mm/swap.c | 49 ++----------------------
> 23 files changed, 90 insertions(+), 157 deletions(-)

Looks good to me. I was wondering about the location of some of this
code, so it's nice to see it cleaned up. Except for the one minor issue
I noted on patch 6, it all looks good to me. I've reviewed all the
patches and tested the series under my p2pdma series.

Reviewed-by: Logan Gunthorpe <logang@xxxxxxxxxxxx>

Logan