[PATCH v2 2/3] Generic handling of multi-page exclusions
HATAYAMA Daisuke
d.hatayama at jp.fujitsu.com
Tue Apr 15 01:27:50 PDT 2014
From: Atsushi Kumagai <kumagai-atsushi at mxc.nes.nec.co.jp>
Subject: RE: [PATCH v2 2/3] Generic handling of multi-page exclusions
Date: Tue, 15 Apr 2014 04:18:31 +0000
>>> At that time, I chose the current code since it was simpler and safer.
>>> http://www.mail-archive.com/kexec%40lists.infradead.org/msg10207.html
>>>
>>> Don't you like this ?
>>>
>>
>>Sorry. I had forgotten this. We should keep the sanity check
>>there. But in our policy, we should not pass to set_bitmap_cyclic(),
>>pfn and cycle where pfn is not in the cycle. We should chceck that in
>>the caller side and pass pfn in the cycle only.
>>
>>Also, on the current implementation, even if pfn outside a current
>>cycle is passed to set_bitmap_cyclic(), we don't have any means to
>>know that.
>>
>>So, how about warning that only once at runtime?
>
> Sounds good, it will be helpful to detect bugs in caller side.
> Like this?
>
> diff --git a/makedumpfile.c b/makedumpfile.c
> index 75092a8..da960ad 100644
> --- a/makedumpfile.c
> +++ b/makedumpfile.c
> @@ -3361,9 +3361,16 @@ int
> set_bitmap_cyclic(char *bitmap, unsigned long long pfn, int val, struct cycle *cycle)
> {
> int byte, bit;
> + static int warning = 0;
>
> - if (pfn < cycle->start_pfn || cycle->end_pfn <= pfn)
> + if (pfn < cycle->start_pfn || cycle->end_pfn <= pfn) {
> + if (!warning) {
> + MSG("WARNING: PFN out of cycle range. (pfn:%llx, ", pfn);
> + MSG("cycle:[%llx-%llx])\n", cycle->start_pfn, cycle->end_pfn);
> + warning = 1;
> + }
> return FALSE;
> + }
>
> /*
> * If val is 0, clear bit on the bitmap.
>
Yes, I thought this logic.
--
Thanks.
HATAYAMA, Daisuke
More information about the kexec
mailing list