[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190627162439.GD9499@mellanox.com>
Date: Thu, 27 Jun 2019 16:29:45 +0000
From: Jason Gunthorpe <jgg@...lanox.com>
To: Christoph Hellwig <hch@....de>
CC: Dan Williams <dan.j.williams@...el.com>,
Jérôme Glisse <jglisse@...hat.com>,
Ben Skeggs <bskeggs@...hat.com>,
"linux-mm@...ck.org" <linux-mm@...ck.org>,
"nouveau@...ts.freedesktop.org" <nouveau@...ts.freedesktop.org>,
"dri-devel@...ts.freedesktop.org" <dri-devel@...ts.freedesktop.org>,
"linux-nvdimm@...ts.01.org" <linux-nvdimm@...ts.01.org>,
"linux-pci@...r.kernel.org" <linux-pci@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Ralph Campbell <rcampbell@...dia.com>
Subject: Re: [PATCH 12/25] memremap: add a migrate_to_ram method to struct
dev_pagemap_ops
On Wed, Jun 26, 2019 at 02:27:11PM +0200, Christoph Hellwig wrote:
> This replaces the hacky ->fault callback, which is currently directly
> called from common code through a hmm specific data structure as an
> exercise in layering violations.
>
> Signed-off-by: Christoph Hellwig <hch@....de>
> Reviewed-by: Ralph Campbell <rcampbell@...dia.com>
> ---
> include/linux/hmm.h | 6 ------
> include/linux/memremap.h | 6 ++++++
> include/linux/swapops.h | 15 ---------------
> kernel/memremap.c | 35 ++++-------------------------------
> mm/hmm.c | 13 +++++--------
> mm/memory.c | 9 ++-------
> 6 files changed, 17 insertions(+), 67 deletions(-)
Reviewed-by: Jason Gunthorpe <jgg@...lanox.com>
I'ver heard there are some other use models for fault() here beyond
migrate to ram, but we can rename it if we ever see them.
> +static vm_fault_t hmm_devmem_migrate_to_ram(struct vm_fault *vmf)
> {
> - struct hmm_devmem *devmem = page->pgmap->data;
> + struct hmm_devmem *devmem = vmf->page->pgmap->data;
>
> - return devmem->ops->fault(devmem, vma, addr, page, flags, pmdp);
> + return devmem->ops->fault(devmem, vmf->vma, vmf->address, vmf->page,
> + vmf->flags, vmf->pmd);
> }
Next cycle we should probably rename this fault to migrate_to_ram as
well and pass in the vmf..
Jason
Powered by blists - more mailing lists