Re: [PATCH v6 7/8] mm/mmu_notifier: pass down vma and reasons why mmu notifier is happening v2

From: Ira Weiny
Date: Thu Apr 11 2019 - 17:50:38 EST


On Thu, Apr 11, 2019 at 08:41:30AM +0300, Leon Romanovsky wrote:
> On Wed, Apr 10, 2019 at 04:41:57PM -0700, Ira Weiny wrote:
> > On Tue, Mar 26, 2019 at 12:47:46PM -0400, Jerome Glisse wrote:
> > > From: Jérôme Glisse <jglisse@xxxxxxxxxx>
> > >

[snip]

> > > diff --git a/include/linux/mmu_notifier.h b/include/linux/mmu_notifier.h
> > > index 62f94cd85455..0379956fff23 100644
> > > --- a/include/linux/mmu_notifier.h
> > > +++ b/include/linux/mmu_notifier.h
> > > @@ -58,10 +58,12 @@ struct mmu_notifier_mm {
> > > #define MMU_NOTIFIER_RANGE_BLOCKABLE (1 << 0)
> > >
> > > struct mmu_notifier_range {
> > > + struct vm_area_struct *vma;
> > > struct mm_struct *mm;
> > > unsigned long start;
> > > unsigned long end;
> > > unsigned flags;
> > > + enum mmu_notifier_event event;
> > > };
> > >
> > > struct mmu_notifier_ops {
> > > @@ -363,10 +365,12 @@ static inline void mmu_notifier_range_init(struct mmu_notifier_range *range,
> > > unsigned long start,
> > > unsigned long end)
> > > {
> > > + range->vma = vma;
> > > + range->event = event;
> > > range->mm = mm;
> > > range->start = start;
> > > range->end = end;
> > > - range->flags = 0;
> > > + range->flags = flags;
> >
> > Which of the "user patch sets" uses the new flags?
> >
> > I'm not seeing that user yet. In general I don't see anything wrong with the
> > series and I like the idea of telling drivers why the invalidate has fired.
> >
> > But is the flags a future feature?
>
> It seems that it is used in HMM ODP patch.
> https://patchwork.kernel.org/patch/10894281/

AFAICT the flags in that patch are "hmm_range->flags" not
"mmu_notifier_range->flags"

They are not the same.

Ira

>
> Thanks
>
> >
> > For the series:
> >
> > Reviewed-by: Ira Weiny <ira.weiny@xxxxxxxxx>
> >
> > Ira
> >
> > > }
> > >
> > > #define ptep_clear_flush_young_notify(__vma, __address, __ptep) \
> > > --
> > > 2.20.1
> > >