> > With patch: > > ----------- > > [ 69.815453] mm/pgtable-generic.c:29: bad p4d > > 0000000084653642(800000025ca37467) > > [ 69.815872] BUG: Bad rss-counter state mm:00000000014a6c03 > > type:MM_FILEPAGES val:2 > > [ 69.815962] BUG: Bad rss-counter state mm:00000000014a6c03 > > type:MM_ANONPAGES val:5 > > [ 69.816050] BUG: non-zero pgtables_bytes on freeing mm: 20480 > > Seems useful. > > > --- a/include/linux/mm_types_task.h > > +++ b/include/linux/mm_types_task.h > > @@ -44,6 +44,13 @@ enum { > > NR_MM_COUNTERS > > }; > > > > +static const char * const resident_page_types[NR_MM_COUNTERS] = { > > + "MM_FILEPAGES", > > + "MM_ANONPAGES", > > + "MM_SWAPENTS", > > + "MM_SHMEMPAGES", > > +}; > > But please let's not put this in a header file. We're asking the > compiler to put a copy of all of this into every compilation unit which > includes the header. Presumably the compiler is smart enough not to > do that, but it's not good practice. Thanks for the explanation. Makes sense to me. Just wanted to check before sending V2, Is it OK if I add this to kernel/fork.c? or do you have something else in mind? Regards, Sai