lkml.org 
[lkml]   [2013]   [May]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 0/2] kdump/mmap: Fix mmap of /proc/vmcore for s390
    On Fri, May 24, 2013 at 05:06:26PM +0200, Michael Holzheu wrote:
    > Hello Vivek,
    >
    > On Fri, 24 May 2013 10:36:44 -0400
    > Vivek Goyal <vgoyal@redhat.com> wrote:
    >
    > [snip]
    >
    > > Sorry, I don't understand the problem. If we swapped low memory and
    > > crash reserved memory, that should have been taken care by prepared
    > > ELF headers so that we map the right pfns. In x86 we swap 640K of low
    > > memory with 640K of memory in reserved and we take care of this by
    > > preparing elf headers accordingly.
    > >
    > > So why s390 can't do the same thing?
    >
    > I am not sure if I understand this. Currently we create the ELF
    > header in a way that we have virtual=real. In the copy_oldmem_page() we
    > do the swap so that for the /proc/vmcore code it looks like contiguous
    > non-swapped memory.
    >
    > One reason why I thought this was necessary was that /dev/oldmem
    > also uses the function and it should provide linear memory access like
    > it is on the live system with /dev/mem.
    >
    > Is that implementation incorrect?

    [ CC Andrew. Keep him in loop for all kernel kdump patches as all kdump
    patches are routed through him ].

    [ CC Eric Biederman ]

    Looking at the code, looks like /dev/oldmem is broken. It does not know
    anything about swap of any of the memory areas and it will simply
    return the contents of page frame asked. And this has been like this
    since the beginning.

    I have always questioned the utility of /dev/oldmem. Atleast I am not
    aware of any tool making use of it.

    If we want to fix it, then somebow all the swapped memory region info
    needs to be communicated to second kernel so that read_oldmem() can
    do the mapping correctly and we really don't have any mechanism for
    that. (I am assuming that in s390 you must have hardcoded the regions
    of memory which are always swapped).

    As /proc/vmcore is the most used and useful interface, I prefer that
    we swap memory and put that info in elf headers. For /dev/oldme, I
    don't mind if we leave it as it is. If somebody really cares, then
    I guess we need to write a new command line option which /dev/mem
    can parse and which tells it about swaps so that /dev/oldmem can
    map things correctly. (This is better than hardcoding things).

    Eric, do you have any thoughts on this.

    Thanks
    Vivek


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