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