Re: [PATCH v3 08/21] vmcore: copy non page-size aligned head andtail pages in 2nd kernel
From: Vivek Goyal
Date: Tue Mar 19 2013 - 17:23:04 EST
On Tue, Mar 19, 2013 at 01:59:57PM -0700, Eric W. Biederman wrote:
> HATAYAMA Daisuke <d.hatayama@xxxxxxxxxxxxxx> writes:
> > Due to mmap() requirement, we need to copy pages not starting or
> > ending with page-size aligned address in 2nd kernel and to map them to
> > user-space.
> > For example, see the map below:
> > 00000000-00010000 : reserved
> > 00010000-0009f800 : System RAM
> > 0009f800-000a0000 : reserved
> > where the System RAM ends with 0x9f800 that is not page-size
> > aligned. This map is divided into two parts:
> > 00010000-0009f000
> > 0009f000-0009f800
> > and the first one is kept in old memory and the 2nd one is copied into
> > buffer on 2nd kernel.
> > This kind of non-page-size-aligned area can always occur since any
> > part of System RAM can be converted into reserved area at runtime.
> > If not doing copying like this and if remapping non page-size aligned
> > pages on old memory directly, mmap() had to export memory which is not
> > dump target to user-space. In the above example this is reserved
> > 0x9f800-0xa0000.
> So I have a question. Would it not be easier to only support mmaping on
> the things that are easily mmapable? And in the oddball corner cases
> require reading the data instead.
Are you saying that some parts of the vmcore file will support mmap() and
others will not. If yes, how would a user know which parts of file are
mappable and which are not.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/