On Mon, 2019-08-05 at 15:28 +0200, Vlastimil Babka wrote: > On 8/2/19 8:46 AM, Prakhya, Sai Praneeth wrote: > > > > > > +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? > > > > > > I was thinking somewhere like mm/util.c so the array could be used by > > > other > > > code. But it seems there is no such code. Perhaps it's best to just > > > leave fork.c as > > > it is now. > > > > Ok, so does that mean have the struct in header file itself? > > If the struct definition (including the string values) was in mm/util.c, > there would have to be a declaration in a header. If it's in fork.c with > the only users, there doesn't need to be separate declaration in a header.
Makes sense. > > > Sorry! for too many questions. I wanted to check with you before changing > > because it's *the* fork.c file (I presume random changes will not be > > encouraged here) > > > > I am not yet clear on what's the right thing to do here :( > > So, could you please help me in deciding. > > fork.c should be fine, IMHO I was leaning to add struct definition in fork.c as well but just wanted to check with Andrew before posting V2. Thanks for the reply though :) Regards, Sai