[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220210072828.2930359-1-hch@lst.de>
Date: Thu, 10 Feb 2022 08:28:01 +0100
From: Christoph Hellwig <hch@....de>
To: Andrew Morton <akpm@...ux-foundation.org>,
Dan Williams <dan.j.williams@...el.com>
Cc: Felix Kuehling <Felix.Kuehling@....com>,
Alex Deucher <alexander.deucher@....com>,
Christian König <christian.koenig@....com>,
"Pan, Xinhui" <Xinhui.Pan@....com>,
Ben Skeggs <bskeggs@...hat.com>,
Karol Herbst <kherbst@...hat.com>,
Lyude Paul <lyude@...hat.com>, Jason Gunthorpe <jgg@...pe.ca>,
Alistair Popple <apopple@...dia.com>,
Logan Gunthorpe <logang@...tatee.com>,
Ralph Campbell <rcampbell@...dia.com>,
linux-kernel@...r.kernel.org, amd-gfx@...ts.freedesktop.org,
dri-devel@...ts.freedesktop.org, nouveau@...ts.freedesktop.org,
nvdimm@...ts.linux.dev, linux-mm@...ck.org
Subject: start sorting out the ZONE_DEVICE refcount mess v2
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(-)
Powered by blists - more mailing lists