On Thu, Jan 27, 2022 at 05:25:52PM -0700, Logan Gunthorpe wrote: > From: Ralph Campbell <rcampbell@xxxxxxxxxx> > > ZONE_DEVICE struct pages have an extra reference count that complicates the > code for put_page() and several places in the kernel that need to check the > reference count to see that a page is not being used (gup, compaction, > migration, etc.). Clean up the code so the reference count doesn't need to > be treated specially for ZONE_DEVICE. > > [logang: dropped no longer used section from mm.h including > page_is_devmap_managed, rebased on v5.17-rc1 (possibly poorly)] > Signed-off-by: Ralph Campbell <rcampbell@xxxxxxxxxx> > Signed-off-by: Alex Sierra <alex.sierra@xxxxxxx> > Signed-off-by: Logan Gunthorpe <logang@xxxxxxxxxxxx> > Reviewed-by: Christoph Hellwig <hch@xxxxxx> > --- > arch/powerpc/kvm/book3s_hv_uvmem.c | 2 +- > drivers/gpu/drm/nouveau/nouveau_dmem.c | 2 +- > fs/dax.c | 4 +- > include/linux/dax.h | 2 +- > include/linux/memremap.h | 7 +-- > include/linux/mm.h | 44 ---------------- > lib/test_hmm.c | 2 +- > mm/internal.h | 8 +++ > mm/memcontrol.c | 6 +-- > mm/memremap.c | 70 +++++++------------------- > mm/migrate.c | 5 -- > mm/page_alloc.c | 3 ++ > mm/swap.c | 45 ++--------------- > 13 files changed, 46 insertions(+), 154 deletions(-) This patch still can't be applied until the FSDAX issues are solved, right? See my remarks the last time it was posted.. Jason