> > 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