[PATCH v2] vmcore: copy fractional pages into buffers in the kdump 2nd kernel
d.hatayama at jp.fujitsu.com
Fri Jan 31 04:57:53 EST 2014
(2014/01/31 11:36), Atsushi Kumagai wrote:
> Hello HATAYAMA-san,
> On 2013/12/09 17:06:18, HATAYAMA Daisuke <d.hatayama at jp.fujitsu.com> wrote:
>> This is a patch for fixing mmap failure due to fractional page issue.
>> This patch might be still a bit too large as a single patch and might need to split.
>> If you think patch refactoring is needed, please suggest.
>> Change Log:
>> v1 => v2)
>> - Copy fractional pages from 1st kernel to 2nd kernel to reduce read
>> to the fractional pages for reliability.
>> - Deal with the case where multiple System RAM areas are contained in
>> a single fractional page.
>> Tested on X86_64. Fractional pages are created using memmap= kernel
>> parameter on the kdump 1st kernel.
> Could you tell me more details about how to reproduce this ?
> I tried to create such fractional pages to test the patch at
> the end of this mail, by using memmap= kernel parameter as you said
> like below:
> # cat /proc/iomem
> 100000000-10fff57ff : System RAM
> 10fff5800-1100057ff : reserved
> 110005800-11fffffff : System RAM
> However, I couldn't face the mmap() failure and makedumpfile worked
> normally even using mmap() on linux-3.12.1. What am I missing here ?
This patch set tries to reduce potential risk on accessing i.e. creating
page tables reading memory outside System RAM regions. The potential risk
I intend here is for example effect of accessing mmio region.
If you didn't see any failure except for mmap() failure on fractional pages,
there's no potential risk on your system in the sense of what I mean above.
Or you could probably see different behavior by choosing other System RAM
region that resides in the memory that is used for something special.
Also, in early phase, our design didn't care about this kind of fractional pages
because we don't think there were many such systems on real world. But the
bug report came earlier than we expected. So, I think we should design
carefully here around at least as long as they can be done relatively simply.
# Sorry for delaying my work...
Of course, I think both kernel and makedumpfile address the issue together
to reduce potential risk as much as possible.
More information about the kexec