lkml.org 
[lkml]   [2013]   [Dec]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] vmcore: call remap_pfn_range() separately for respective partial pages
On Tue, Dec 03, 2013 at 10:18:16AM +0900, HATAYAMA Daisuke wrote:
> (2013/12/03 0:27), Vivek Goyal wrote:
> >On Thu, Nov 28, 2013 at 05:48:02PM +0900, HATAYAMA Daisuke wrote:
> >>Hello Vivek,
> >>
> >>Here is a patch set for mmap failure for /proc/vmcore.
> >>Could you try to use this on the problematic system?
> >>
> >>This patch doesn't copy partial pages to the 2nd kernel, only prepares
> >>vmcore objects for respective partial pages to invoke remap_pfn_range()
> >>for individual partial pages.
> >
> >Hi Hatayama,
> >
> >Thanks for the patch. Ok, I see that partial pages will be put in a separate
> >call to remap_oldmem_pfn_range() and this time it should succeed.
> >
> >I am wondering what do you think about your old approach of copying
> >only relevant old memory to a new kernel page in new kernel. I kind
> >of feel little uncomfortable with the idea of rounding down start
> >and roudning up end to page size boundaries and then accessing the
> >full page using oldmem interface. A safer approach might be to allocate
> >page in new kernel, read *only* those bytes as reported by elf header
> >and fill rest of the page with zeros.
> >
> >Thanks
> >Vivek
> >
>
> Even if copying partial pages into the 2nd kernel, we need to use ioremap()
> once on them, and I think the ioremap() is exactly similar to
> remap_pfn_range() for a single page. There seems no difference on safeness
> between them.

Hmm.., that's a good point. So anyway we will map the full page and read
parts of it.

>
> Also, current /proc/vmcore shows user-land tools a shape with holes not
> filled with zeros both in case of read() and in case of mmap(). If we adapt
> copying one without reading data in holes, shape of /proc/vmcore gets
> changed again.

I will not be worried about this as contents of those holes are undefined.
And if we replace undefined with zeros, it should not break any
application.

Thanks
Vivek


\
 
 \ /
  Last update: 2013-12-03 17:21    [W:0.073 / U:0.200 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site