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. > 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 > Regards, > Sai >