[PATCH v2 2/3] Generic handling of multi-page exclusions
Atsushi Kumagai
kumagai-atsushi at mxc.nes.nec.co.jp
Tue Apr 8 03:06:34 EDT 2014
[...]
> diff --git a/makedumpfile.h b/makedumpfile.h
>> index 951ed1b..dfad569 100644
>> --- a/makedumpfile.h
>> +++ b/makedumpfile.h
>> @@ -816,6 +816,13 @@ struct mem_map_data {
>> unsigned long long pfn_start;
>> unsigned long long pfn_end;
>> unsigned long mem_map;
>> +
>> + /*
>> + * for excluding multi-page regions
>> + */
>> + unsigned long exclude_pfn_start;
>> + unsigned long exclude_pfn_end;
>
>unsigned long long exclude_pfn_start;
>unsigned long long exclude_pfn_end;
>
>The integers representing page frame numbers need to be defined as
>unsigned long long for architectures where physical address can have
>64-bit length but unsigned long has 32-bit only, such as x86 PAE.
>
>Kumagai-san, I saw this sometimes in the past. How about introducing
>specific abstract type for page frame number like below?
>
>typedef unsigned long long pfn_t;
Good idea! We should do it.
>maybe with some prefix. I think this also helps code readability
>because unsigned long long is too long.
>
>> + unsigned long long *exclude_pfn_counter;
>> };
>
>Also, it seems to me better to introduce a new type for this
>processing rather than extending existing code. struct mem_map_data is
>not specific for the excluding processing.
I agree, too.
Thanks
Atsushi Kumagai
More information about the kexec
mailing list