RE: [RFC PATCH v4 4/6] mm: Add page table level flags to vm_flags

From: yezhenyu (A)
Date: Tue Mar 24 2020 - 22:10:52 EST


Hi Steve,

On Wed, 25 Mar 2020 2:45, Steve wrote:
> On Tue, 24 Mar 2020 21:45:32 +0800
> Zhenyu Ye <yezhenyu2@xxxxxxxxxx> wrote:
>
> > --- a/include/trace/events/mmflags.h
> > +++ b/include/trace/events/mmflags.h
> > @@ -130,6 +130,16 @@ IF_HAVE_PG_IDLE(PG_idle, "idle" )
> > #define IF_HAVE_VM_SOFTDIRTY(flag,name)
> > #endif
> >
> > +#ifdef CONFIG_64BIT
> > +#define IF_HAVE_VM_LEVEL_PUD(flag,name) {flag, name}
> > +#define IF_HAVE_VM_LEVEL_PMD(flag,name) {flag, name}
> > +#define IF_HAVE_VM_LEVEL_PTE(flag,name) {flag, name}
> > +#else
> > +#define IF_HAVE_VM_LEVEL_PUD(flag,name)
> > +#define IF_HAVE_VM_LEVEL_PMD(flag,name)
> > +#define IF_HAVE_VM_LEVEL_PTE(flag,name)
> > +#endif
> > +
> > #define __def_vmaflag_names \
> > {VM_READ, "read" }, \
> > {VM_WRITE, "write" }, \
> > @@ -161,7 +171,10 @@ IF_HAVE_VM_SOFTDIRTY(VM_SOFTDIRTY,
> "softdirty" ) \
> > {VM_MIXEDMAP, "mixedmap" }, \
> > {VM_HUGEPAGE, "hugepage" }, \
> > {VM_NOHUGEPAGE, "nohugepage" }, \
> > - {VM_MERGEABLE, "mergeable" } \
> > + {VM_MERGEABLE, "mergeable" }, \
> > +IF_HAVE_VM_LEVEL_PUD(VM_LEVEL_PUD, "pud-level" ), \
> > +IF_HAVE_VM_LEVEL_PMD(VM_LEVEL_PMD, "pmd-level" ), \
> > +IF_HAVE_VM_LEVEL_PTE(VM_LEVEL_PTE, "pte-level" ) \
> >
>
> Have you tested this on 32bit? It looks like you'll get empty commas there.
> Perhaps the defines need to be:
>
> #ifdef CONFIG_64BIT
> #define IF_HAVE_VM_LEVEL_PUD(flag,name) {flag, name},
> #define IF_HAVE_VM_LEVEL_PMD(flag,name) {flag, name},
> #define IF_HAVE_VM_LEVEL_PTE(flag,name) {flag, name}
> #else
> #define IF_HAVE_VM_LEVEL_PUD(flag,name)
> #define IF_HAVE_VM_LEVEL_PMD(flag,name)
> #define IF_HAVE_VM_LEVEL_PTE(flag,name)
> #endif
>
> And leave out the commas in the list.
>
> -- Steve

Thanks for your review. I will fix this in next version, if I could still use vm_flags
at that time :).

Zhenyu