• Michael Holzheu's avatar
    vmcore: introduce remap_oldmem_pfn_range() · 9cb21813
    Michael Holzheu authored
    For zfcpdump we can't map the HSA storage because it is only available via
    a read interface.  Therefore, for the new vmcore mmap feature we have
    introduce a new mechanism to create mappings on demand.
    
    This patch introduces a new architecture function remap_oldmem_pfn_range()
    that should be used to create mappings with remap_pfn_range() for oldmem
    areas that can be directly mapped.  For zfcpdump this is everything
    besides of the HSA memory.  For the areas that are not mapped by
    remap_oldmem_pfn_range() a generic vmcore a new generic vmcore fault
    handler mmap_vmcore_fault() is called.
    
    This handler works as follows:
    
    * Get already available or new page from page cache (find_or_create_page)
    * Check if /proc/vmcore page is filled with data (PageUptodate)
    * If yes:
      Return that page
    * If no:
      Fill page using __vmcore_read(), set PageUptodate, and return page
    Signed-off-by: default avatarMichael Holzheu <holzheu@linux.vnet.ibm.com>
    Acked-by: default avatarVivek Goyal <vgoyal@redhat.com>
    Cc: HATAYAMA Daisuke <d.hatayama@jp.fujitsu.com>
    Cc: Jan Willeke <willeke@de.ibm.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    9cb21813
vmcore.c 27.4 KB