[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20201124155526.GH5487@ziepe.ca>
Date: Tue, 24 Nov 2020 11:55:26 -0400
From: Jason Gunthorpe <jgg@...pe.ca>
To: DRI Development <dri-devel@...ts.freedesktop.org>,
LKML <linux-kernel@...r.kernel.org>, kvm@...r.kernel.org,
linux-mm@...ck.org, linux-arm-kernel@...ts.infradead.org,
linux-samsung-soc@...r.kernel.org, linux-media@...r.kernel.org,
Daniel Vetter <daniel.vetter@...el.com>,
Christoph Hellwig <hch@...radead.org>,
Kees Cook <keescook@...omium.org>,
Dan Williams <dan.j.williams@...el.com>,
Andrew Morton <akpm@...ux-foundation.org>,
John Hubbard <jhubbard@...dia.com>,
Jérôme Glisse <jglisse@...hat.com>,
Jan Kara <jack@...e.cz>
Subject: Re: [PATCH v6 17/17] RFC: mm: add mmu_notifier argument to follow_pfn
On Tue, Nov 24, 2020 at 03:28:14PM +0100, Daniel Vetter wrote:
> On Fri, Nov 20, 2020 at 02:30:29PM -0400, Jason Gunthorpe wrote:
> > On Thu, Nov 19, 2020 at 03:41:46PM +0100, Daniel Vetter wrote:
> > > @@ -4805,21 +4824,15 @@ EXPORT_SYMBOL(follow_pte_pmd);
> > > * Return: zero and the pfn at @pfn on success, -ve otherwise.
> > > */
> > > int follow_pfn(struct vm_area_struct *vma, unsigned long address,
> > > - unsigned long *pfn)
> > > + unsigned long *pfn, struct mmu_notifier *subscription)
> > > {
> > > - int ret = -EINVAL;
> > > - spinlock_t *ptl;
> > > - pte_t *ptep;
> > > + if (WARN_ON(!subscription->mm))
> > > + return -EINVAL;
> > >
> > > + if (WARN_ON(subscription->mm != vma->vm_mm))
> > > + return -EINVAL;
> >
> > These two things are redundant right? vma->vm_mm != NULL?
>
> Yup, will remove.
>
> > BTW, why do we even have this for nommu? If the only caller is kvm,
> > can you even compile kvm on nommu??
>
> Kinda makes sense, but I have no idea how to make sure with compile
> testing this is really the case. And I didn't see any hard evidence in
> Kconfig or Makefile that mmu notifiers requires CONFIG_MMU. So not sure
> what to do here.
It looks like only some arches have selectable CONFIG_MMU: arm,
m68k, microblaze, riscv, sh
If we look at arches that work with HAVE_KVM, I only see: arm64, mips,
powerpc, s390, x86
So my conclusion is there is no intersection between !MMU and HAVE_KVM?
> Should I just remove the nommu version of follow_pfn and see what happens?
> We can't remove it earlier since it's still used by other
> subsystems.
This is what I was thinking might work
Jason
Powered by blists - more mailing lists