Re: [v2 PATCH 1/7] mm: memory: add orig_pmd to struct vm_fault

From: Yang Shi
Date: Tue May 18 2021 - 13:03:49 EST


On Tue, May 18, 2021 at 12:36 AM Mel Gorman <mgorman@xxxxxxx> wrote:
>
> On Mon, May 17, 2021 at 12:39:49PM -0700, Yang Shi wrote:
> > On Mon, May 17, 2021 at 8:09 AM Mel Gorman <mgorman@xxxxxxx> wrote:
> > >
> > > On Tue, Apr 13, 2021 at 02:24:10PM -0700, Yang Shi wrote:
> > > > Add orig_pmd to struct vm_fault so the "orig_pmd" parameter used by huge page
> > > > fault could be removed, just like its PTE counterpart does.
> > > >
> > > > Signed-off-by: Yang Shi <shy828301@xxxxxxxxx>
> > > >
> > > > <SNIP>
> > > >
> > > > diff --git a/include/linux/mm.h b/include/linux/mm.h
> > > > index 25b9041f9925..9c5856f8cc81 100644
> > > > --- a/include/linux/mm.h
> > > > +++ b/include/linux/mm.h
> > > > @@ -547,6 +547,9 @@ struct vm_fault {
> > > > * the 'address'
> > > > */
> > > > pte_t orig_pte; /* Value of PTE at the time of fault */
> > > > + pmd_t orig_pmd; /* Value of PMD at the time of fault,
> > > > + * used by PMD fault only.
> > > > + */
> > > >
> > > > struct page *cow_page; /* Page handler may use for COW fault */
> > > > struct page *page; /* ->fault handlers should return a
> > >
> > > Could this be a union?
> >
> > Do you mean orig_pte and orig_pmd, or cow_page and page?
>
> orig_pte and orig_pmd given that one for PTE faults and one is for PMD
> faults and it's very unlikely they would both need to be considered during
> a single fault.

Yes, agreed.

>
> --
> Mel Gorman
> SUSE Labs