[PATCH v2 2/3] Generic handling of multi-page exclusions
HATAYAMA Daisuke
d.hatayama at jp.fujitsu.com
Thu Apr 10 18:59:44 PDT 2014
From: Petr Tesarik <ptesarik at suse.cz>
Subject: Re: [PATCH v2 2/3] Generic handling of multi-page exclusions
Date: Thu, 10 Apr 2014 12:47:17 +0200
> On Tue, 8 Apr 2014 07:06:34 +0000
> Atsushi Kumagai <kumagai-atsushi at mxc.nes.nec.co.jp> wrote:
>
>> [...]
>> > 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.
>
> Like the following patch?
>
> From 9f3f6876bf1e8c93690097c510dff9982651bfa5 Mon Sep 17 00:00:00 2001
> From: Petr Tesarik <ptesarik at suse.cz>
> Date: Thu, 10 Apr 2014 12:40:31 +0200
> Subject: [PATCH] Introduce the pfn_t type
>
> Replace unsigned long long with pfn_t where:
>
> a. the variable denotes a PFN
> b. the variable is a number of pages
>
> The number of pages is converted to a pfn_t, because it is a result of
> subtracting two PFNs or incremented in a loop over a range of PFNs, so
> it can get as large as a PFN.
>
> Signed-off-by: Petr Tesarik <ptesarik at suse.cz>
Thanks!
Only concern is that pfn_t could be too generic; could collide with
symbols from any other libraries. On kernel, I found that kvm and um
defines pfn_t.
So, it's better to prefix pfn_t with the letters indicating that this
is relevant to makedumpfile.
But I don't come up with good prefix...
Thanks.
HATAYAMA, Daisuke
More information about the kexec
mailing list