Re: [PATCH] fork: Improve error message for corrupted page tables

Vlastimil Babka
2019-08-05T13:28:53Z

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
>