lkml.org 
[lkml]   [2013]   [Nov]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: /proc/vmcore mmap() failure issue
On Thu, Nov 21, 2013 at 05:31:46PM +0900, HATAYAMA Daisuke wrote:

[..]
> > So I think the patch I sent is enough, the policy will be simpler as
> > "Don't use mmap() for buggy kernels".
> >
> > [PATCH] Fall back to read() when mmap() fails.
> > http://lists.infradead.org/pipermail/kexec/2013-November/010199.html
> >
>
> I think logic becomes not so complex. For example, if input vmcore
> format is ELF, then:
>
> o in update_mmap_range():
> - first calculate a range of the corresponding PT_LOAD entry truncated with
> PAGE_SIZE.
> - Then, truncate range of mmap() by the truncated range of the corresponding
> PT_LOAD entry, i.e., exlucde partial pages from mmap() target range.
> - Then determine offsets of two partial pages; the number of partial pages
> are always at most two. The offsets can easily be calculated from the
> original range of the corresponding PT_LOAD entry
>
> o in read_from_vmcore(), if a given offset belongs to either of two partial
> pages, then go to read() path; if not, go to mmap() path.

I agree that we should do mmap() on all non-partial pages and do read()
on all partial pages. Otherwise we lose the benefit of faster speed of
mmap().

Thanks
Vivek


\
 
 \ /
  Last update: 2013-11-21 18:01    [W:0.252 / U:0.028 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site