Can't exclude unnecessary pages for 2.6.31 Kernel

CAI Qian caiqian at redhat.com
Fri Oct 2 00:21:42 EDT 2009


Hallo Ken'ichi!

From: "Ken'ichi Ohmichi" <oomichi at mxs.nes.nec.co.jp>
Subject: Re: Can't exclude unnecessary pages for 2.6.31 Kernel
Date: Fri, 02 Oct 2009 09:16:50 +0900

> 
> The next makedumpfile will support 2.6.31 kernel, and the above will be fixed.
> 

Great.

> 
> I created the patch for catching this change.
> Could you try the attached patch ?
> 

It does make -d 16 works without errors. However, the crash utility
failed to read it (the log attached), but the full VMCore is working
fine there.

crash: page excluded: kernel virtual address: ffffffff819f1764 type:
       "tss_struct ist array"

Thanks!
CAI Qian
-------------- next part --------------
[root at nec-em18 analyse-crash]# crash -d 3 /usr/lib/debug/lib/modules/2.6.31-23.el6.x86_64/vmlinux /var/crash/16/vmcore.fail 

crash 4.0.9
Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009  Red Hat, Inc.
Copyright (C) 2004, 2005, 2006  IBM Corporation
Copyright (C) 1999-2006  Hewlett-Packard Co
Copyright (C) 2005, 2006  Fujitsu Limited
Copyright (C) 2006, 2007  VA Linux Systems Japan K.K.
Copyright (C) 2005  NEC Corporation
Copyright (C) 1999, 2002, 2007  Silicon Graphics, Inc.
Copyright (C) 1999, 2000, 2001, 2002  Mission Critical Linux, Inc.
This program is free software, covered by the GNU General Public License,
and you are welcome to change it and/or distribute copies of it under
certain conditions.  Enter "help copying" to see the conditions.
This program has absolutely no warranty.  Enter "help warranty" for details.
 
compressed kdump: header->utsname.machine: 
diskdump_data: 
          filename: (null)
             flags: 6 (KDUMP_CMPRS_LOCAL|ERROR_EXCLUDED)
               dfd: 3
               ofp: 0
      machine_type: 62 (EM_X86_64)

            header: bb4c70
           signature: "KDUMP   "
      header_version: 2
             utsname:
               sysname: 
              nodename: 
               release: 
               version: 
               machine: 
            domainname: 
           timestamp:
                tv_sec: 4ac44a6f
               tv_usec: 0
              status: 0 ()
          block_size: 4096
        sub_hdr_size: 1
       bitmap_blocks: 16
           max_mapnr: 262000
    total_ram_blocks: 0
       device_blocks: 0
      written_blocks: 0
         current_cpu: 0
             nr_cpus: 1
      tasks[nr_cpus]: 0

        sub_header: 0 (n/a)

  sub_header_kdump: bb5c80 
           phys_base: 0
          dump_level: 16 (0x10) (DUMP_EXCLUDE_FREE)

       data_offset: 12000
        block_size: 4096
       block_shift: 12
            bitmap: bb6c90
        bitmap_len: 65536
   dumpable_bitmap: bc6ca0
              byte: 0
               bit: 0
   compressed_page: be6ed0
         curbufptr: 0

 page_cache_hdr[0]:
            pg_flags: 0 ()
             pg_addr: 0
           pg_bufptr: bd6ec0
        pg_hit_count: 0
 page_cache_hdr[1]:
            pg_flags: 0 ()
             pg_addr: 0
           pg_bufptr: bd7ec0
        pg_hit_count: 0
 page_cache_hdr[2]:
            pg_flags: 0 ()
             pg_addr: 0
           pg_bufptr: bd8ec0
        pg_hit_count: 0
 page_cache_hdr[3]:
            pg_flags: 0 ()
             pg_addr: 0
           pg_bufptr: bd9ec0
        pg_hit_count: 0
 page_cache_hdr[4]:
            pg_flags: 0 ()
             pg_addr: 0
           pg_bufptr: bdaec0
        pg_hit_count: 0
 page_cache_hdr[5]:
            pg_flags: 0 ()
             pg_addr: 0
           pg_bufptr: bdbec0
        pg_hit_count: 0
 page_cache_hdr[6]:
            pg_flags: 0 ()
             pg_addr: 0
           pg_bufptr: bdcec0
        pg_hit_count: 0
 page_cache_hdr[7]:
            pg_flags: 0 ()
             pg_addr: 0
           pg_bufptr: bddec0
        pg_hit_count: 0
 page_cache_hdr[8]:
            pg_flags: 0 ()
             pg_addr: 0
           pg_bufptr: bdeec0
        pg_hit_count: 0
 page_cache_hdr[9]:
            pg_flags: 0 ()
             pg_addr: 0
           pg_bufptr: bdfec0
        pg_hit_count: 0
page_cache_hdr[10]:
            pg_flags: 0 ()
             pg_addr: 0
           pg_bufptr: be0ec0
        pg_hit_count: 0
page_cache_hdr[11]:
            pg_flags: 0 ()
             pg_addr: 0
           pg_bufptr: be1ec0
        pg_hit_count: 0
page_cache_hdr[12]:
            pg_flags: 0 ()
             pg_addr: 0
           pg_bufptr: be2ec0
        pg_hit_count: 0
page_cache_hdr[13]:
            pg_flags: 0 ()
             pg_addr: 0
           pg_bufptr: be3ec0
        pg_hit_count: 0
page_cache_hdr[14]:
            pg_flags: 0 ()
             pg_addr: 0
           pg_bufptr: be4ec0
        pg_hit_count: 0
page_cache_hdr[15]:
            pg_flags: 0 ()
             pg_addr: 0
           pg_bufptr: be5ec0
        pg_hit_count: 0

    page_cache_buf: bd6ec0
       evict_index: 0
         evictions: 0
          accesses: 0
      cached_reads: 0 
       valid_pages: bd6cb0
crash: pv_init_ops exists: ARCH_PVOPS
compressed kdump: phys_base: 0
gdb /usr/lib/debug/lib/modules/2.6.31-23.el6.x86_64/vmlinux 
GNU gdb 6.1
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "x86_64-unknown-linux-gnu"...

cpu_possible_map: 0 1 
cpu_present_map: 0 1 
cpu_online_map: 0 1 
base kernel version: 2.6.31
verify_namelist:
/proc/version:
Linux version 2.6.31-23.el6.x86_64 (mockbuild at x86-004.build.bos.redhat.com) (gcc version 4.4.1 20090916 (Red Hat 4.4.1-14) (GCC) ) #1 SMP Fri Sep 18 16:04:38 EDT 2009
utsname version: #1 SMP Fri Sep 18 16:04:38 EDT 2009
/usr/lib/debug/lib/modules/2.6.31-23.el6.x86_64/vmlinux:
Linux version 2.6.31-23.el6.x86_64 (mockbuild at x86-004.build.bos.redhat.com) (gcc version 4.4.1 20090916 (Red Hat 4.4.1-14) (GCC) ) #1 SMP Fri Sep 18 16:04:38 EDT 2009

WARNING: Because this kernel was compiled with gcc version 4.4.1, certain
         commands or command options may fail unless crash is invoked with
         the  "--readnow" command line option.

GNU_GET_DATATYPE[runqueue]: returned via gdb_error_hook 
GNU_GET_DATATYPE[runqueue]: returned via gdb_error_hook 
GNU_GET_DATATYPE[prio_array]: returned via gdb_error_hook 
GNU_GET_DATATYPE[prio_array]: returned via gdb_error_hook 
GNU_GET_DATATYPE[prio_array]: returned via gdb_error_hook 
crash: get_cpus_online: online: 2
GNU_GET_DATATYPE[irq_desc_t]: returned via gdb_error_hook 
GNU_GET_DATATYPE[hw_interrupt_type]: returned via gdb_error_hook 
GNU_GET_DATATYPE[timer_vec_root]: returned via gdb_error_hook 
GNU_GET_DATATYPE[timer_vec]: returned via gdb_error_hook 
GNU_GET_DATATYPE[tvec_root_s]: returned via gdb_error_hook 
GNU_GET_DATATYPE[softirq_state]: returned via gdb_error_hook 
GNU_GET_DATATYPE[kallsyms_header]: returned via gdb_error_hook 
GNU_GET_DATATYPE[gate_struct]: returned via gdb_error_hook 
GNU_GET_DATATYPE[user_regs_struct]: returned via gdb_error_hook 
GNU_GET_DATATYPE[user_regs_struct]: returned via gdb_error_hook 
GNU_GET_DATATYPE[user_regs_struct]: returned via gdb_error_hook 
GNU_GET_DATATYPE[user_regs_struct]: returned via gdb_error_hook 
GNU_GET_DATATYPE[user_regs_struct]: returned via gdb_error_hook 
GNU_GET_DATATYPE[user_regs_struct]: returned via gdb_error_hook 
GNU_GET_DATATYPE[x8664_pda]: returned via gdb_error_hook 
x86_64_per_cpu_init: setup_percpu areas: 2
crash: get_cpus_online: online: 2
crash: page excluded: kernel virtual address: ffffffff819f1764  type: "tss_struct ist array"


# ./makedumpfile -D -d 16 /var/crash/127.0.0.1-2009-10-01-06\:22\:33/vmcore vmcore.16
LOAD (0)
  phys_start : 1000000
  phys_end   : 2683000
  virt_start : ffffffff81000000
  virt_end   : ffffffff82683000
LOAD (1)
  phys_start : 0
  phys_end   : a0000
  virt_start : ffff810000000000
  virt_end   : ffff8100000a0000
LOAD (2)
  phys_start : 100000
  phys_end   : 3000000
  virt_start : ffff810000100000
  virt_end   : ffff810003000000
LOAD (3)
  phys_start : b000000
  phys_end   : 3ff70000
  virt_start : ffff81000b000000
  virt_end   : ffff81003ff70000
Linux kdump
page_size    : 4096

max_mapnr    : 3ff70
The kernel version is not supported.
The created dumpfile may be incomplete.

num of NODEs : 1


Memory type  : SPARSEMEM_EX

mem_map (0)
  mem_map    : ffffea0000000000
  pfn_start  : 0
  pfn_end    : 8000
mem_map (1)
  mem_map    : ffffea0000340000
  pfn_start  : 8000
  pfn_end    : 10000
mem_map (2)
  mem_map    : ffffea0000680000
  pfn_start  : 10000
  pfn_end    : 18000
mem_map (3)
  mem_map    : ffffea00009c0000
  pfn_start  : 18000
  pfn_end    : 20000
mem_map (4)
  mem_map    : ffffea0000d00000
  pfn_start  : 20000
  pfn_end    : 28000
mem_map (5)
  mem_map    : ffffea0001040000
  pfn_start  : 28000
  pfn_end    : 30000
mem_map (6)
  mem_map    : ffffea0001380000
  pfn_start  : 30000
  pfn_end    : 38000
mem_map (7)
  mem_map    : ffffea00016c0000
  pfn_start  : 38000
  pfn_end    : 3ff70
Copying data                       : [100 %] 

The dumpfile is saved to vmcore.16.

makedumpfile Completed.



More information about the kexec mailing list