start sorting out the ZONE_DEVICE refcount mess v2

Sierra Guiza, Alejandro (Alex) alex.sierra at amd.com
Thu Feb 10 17:36:23 UTC 2022


Christoph,
Thanks a lot for rebase our patches. I just ran our amdgpu hmm-tests 
with this series and all passed.

Regards,
Alex Sierra

On 2/10/2022 1:28 AM, 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.
>
> Note that if we want to get the p2p series rebased on top of this
> we'll need a git branch for this series.  I could offer to host one.
>
> A git tree is available here:
>
>      git://git.infradead.org/users/hch/misc.git pgmap-refcount
>
> Gitweb:
>
>      http://git.infradead.org/users/hch/misc.git/shortlog/refs/heads/pgmap-refcount
>
> Changes since v1:
>   - add a missing memremap.h include in memcontrol.c
>   - include rebased versions of the device coherent support and
>     device coherent migration support series as well as additional
>     cleanup patches
>
> Diffstt:
>   arch/arm64/mm/mmu.c                      |    1
>   arch/powerpc/kvm/book3s_hv_uvmem.c       |    1
>   drivers/gpu/drm/amd/amdkfd/kfd_migrate.c |   35 -
>   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                 |   36 +
>   include/linux/migrate.h                  |    1
>   include/linux/mm.h                       |   59 --
>   lib/test_hmm.c                           |  353 ++++++++++---
>   lib/test_hmm_uapi.h                      |   22
>   mm/Kconfig                               |    7
>   mm/Makefile                              |    1
>   mm/gup.c                                 |  127 +++-
>   mm/internal.h                            |    3
>   mm/memcontrol.c                          |   19
>   mm/memory-failure.c                      |    8
>   mm/memremap.c                            |   75 +-
>   mm/migrate.c                             |  763 ----------------------------
>   mm/migrate_device.c                      |  822 +++++++++++++++++++++++++++++++
>   mm/rmap.c                                |    5
>   mm/swap.c                                |   49 -
>   tools/testing/selftests/vm/Makefile      |    2
>   tools/testing/selftests/vm/hmm-tests.c   |  204 ++++++-
>   tools/testing/selftests/vm/test_hmm.sh   |   24
>   33 files changed, 1552 insertions(+), 1088 deletions(-)


More information about the dri-devel mailing list