[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <52e00a67-b686-8554-8b92-a172ba9f34b6@nvidia.com>
Date: Mon, 13 Jul 2020 09:36:16 -0700
From: Ralph Campbell <rcampbell@...dia.com>
To: Dan Williams <dan.j.williams@...el.com>,
<linux-nvdimm@...ts.01.org>
CC: Paul Mackerras <paulus@...abs.org>,
Michael Ellerman <mpe@...erman.id.au>,
Benjamin Herrenschmidt <benh@...nel.crashing.org>,
Vishal Verma <vishal.l.verma@...el.com>,
Dave Jiang <dave.jiang@...el.com>,
Ben Skeggs <bskeggs@...hat.com>,
David Airlie <airlied@...ux.ie>,
Daniel Vetter <daniel@...ll.ch>,
Ira Weiny <ira.weiny@...el.com>,
Jason Gunthorpe <jgg@...lanox.com>, <peterz@...radead.org>,
<dave.hansen@...ux.intel.com>, <ard.biesheuvel@...aro.org>,
<linux-mm@...ck.org>, <linux-kernel@...r.kernel.org>,
<linux-acpi@...r.kernel.org>, <hch@....de>,
<joao.m.martins@...cle.com>
Subject: Re: [PATCH v2 19/22] mm/memremap_pages: Convert to 'struct range'
On 7/12/20 9:27 AM, Dan Williams wrote:
> The 'struct resource' in 'struct dev_pagemap' is only used for holding
> resource span information. The other fields, 'name', 'flags', 'desc',
> 'parent', 'sibling', and 'child' are all unused wasted space.
>
> This is in preparation for introducing a multi-range extension of
> devm_memremap_pages().
>
> The bulk of this change is unwinding all the places internal to
> libnvdimm that used 'struct resource' unnecessarily.
>
> P2PDMA had a minor usage of the flags field, but only to report failures
> with "%pR". That is replaced with an open coded print of the range.
>
> Cc: Paul Mackerras <paulus@...abs.org>
> Cc: Michael Ellerman <mpe@...erman.id.au>
> Cc: Benjamin Herrenschmidt <benh@...nel.crashing.org>
> Cc: Dan Williams <dan.j.williams@...el.com>
> Cc: Vishal Verma <vishal.l.verma@...el.com>
> Cc: Dave Jiang <dave.jiang@...el.com>
> Cc: Ben Skeggs <bskeggs@...hat.com>
> Cc: David Airlie <airlied@...ux.ie>
> Cc: Daniel Vetter <daniel@...ll.ch>
> Cc: Ira Weiny <ira.weiny@...el.com>
> Cc: Jason Gunthorpe <jgg@...lanox.com>
> Signed-off-by: Dan Williams <dan.j.williams@...el.com>
> ---
> arch/powerpc/kvm/book3s_hv_uvmem.c | 13 +++--
> drivers/dax/bus.c | 10 ++--
> drivers/dax/bus.h | 2 -
> drivers/dax/dax-private.h | 5 --
> drivers/dax/device.c | 3 -
> drivers/dax/hmem/hmem.c | 5 ++
> drivers/dax/pmem/core.c | 12 ++---
> drivers/gpu/drm/nouveau/nouveau_dmem.c | 3 +
> drivers/nvdimm/badrange.c | 26 +++++------
> drivers/nvdimm/claim.c | 13 +++--
> drivers/nvdimm/nd.h | 3 +
> drivers/nvdimm/pfn_devs.c | 12 ++---
> drivers/nvdimm/pmem.c | 26 ++++++-----
> drivers/nvdimm/region.c | 21 +++++----
> drivers/pci/p2pdma.c | 11 ++---
> include/linux/memremap.h | 5 +-
> include/linux/range.h | 6 ++
> mm/memremap.c | 77 ++++++++++++++++----------------
> tools/testing/nvdimm/test/iomap.c | 2 -
> 19 files changed, 135 insertions(+), 120 deletions(-)
I think you are missing a call to memremap_pages() in lib/test_hmm.c
and a call to release_mem_region() that need to be converted too.
Try setting CONFIG_TEST_HMM=m.
Also, what about the call to release_mem_region() in
drivers/gpu/drm/nouveau/nouveau_dmem.c? Doesn't that need a small change too?
Powered by blists - more mailing lists