----- "Pavan Naregundi" <[email protected]> wrote:

> > 
> > In any case, unfortunately, there's nothing can be done from the crash
> > utility's perspective. 
> >   
> > Dave
> 
> Thank you Dave.
> 
> Our SLES11 does not have the above patch you mentioned, but at the same
> time system is not AMS enabled and CONFIG_CMM is also not set in the config 
> file..
> 
> This system also has /proc/device-tree/mem...@0 dir only..

I don't have access to the original "problem" ppc64 machine, 
but here I'm logged into another ppc64, where the memory
advertised in /proc/device-tree is as expected.  It has 
these file mem...@xxx/reg files, showing a set of contiguous
memory chunks.  The first one is 128MB, followed by a series
of 16MB chunks: 

         mem...@0: 0000000000000000 0000000008000000
   mem...@8000000: 0000000008000000 0000000001000000
   mem...@9000000: 0000000009000000 0000000001000000
   mem...@a000000: 000000000a000000 0000000001000000
   mem...@b000000: 000000000b000000 0000000001000000
   mem...@c000000: 000000000c000000 0000000001000000
   mem...@d000000: 000000000d000000 0000000001000000
   mem...@e000000: 000000000e000000 0000000001000000
   mem...@f000000: 000000000f000000 0000000001000000
  mem...@10000000: 0000000010000000 0000000001000000
  mem...@11000000: 0000000011000000 0000000001000000
  mem...@12000000: 0000000012000000 0000000001000000
  mem...@13000000: 0000000013000000 0000000001000000
  mem...@14000000: 0000000014000000 0000000001000000
  mem...@15000000: 0000000015000000 0000000001000000
  mem...@16000000: 0000000016000000 0000000001000000
  mem...@17000000: 0000000017000000 0000000001000000
  mem...@18000000: 0000000018000000 0000000001000000
  mem...@19000000: 0000000019000000 0000000001000000
  mem...@1a000000: 000000001a000000 0000000001000000
  mem...@1b000000: 000000001b000000 0000000001000000
  mem...@1c000000: 000000001c000000 0000000001000000
  mem...@1d000000: 000000001d000000 0000000001000000
  mem...@1e000000: 000000001e000000 0000000001000000
  mem...@1f000000: 000000001f000000 0000000001000000
  mem...@20000000: 0000000020000000 0000000001000000
  mem...@21000000: 0000000021000000 0000000001000000
  mem...@22000000: 0000000022000000 0000000001000000
  mem...@23000000: 0000000023000000 0000000001000000
  mem...@24000000: 0000000024000000 0000000001000000
  mem...@25000000: 0000000025000000 0000000001000000
  mem...@26000000: 0000000026000000 0000000001000000
  mem...@27000000: 0000000027000000 0000000001000000
  mem...@28000000: 0000000028000000 0000000001000000
  mem...@29000000: 0000000029000000 0000000001000000
  mem...@2a000000: 000000002a000000 0000000001000000
  mem...@2b000000: 000000002b000000 0000000001000000
  mem...@2c000000: 000000002c000000 0000000001000000
  mem...@2d000000: 000000002d000000 0000000001000000
  mem...@2e000000: 000000002e000000 0000000001000000
  mem...@2f000000: 000000002f000000 0000000001000000
  mem...@30000000: 0000000030000000 0000000001000000
  mem...@31000000: 0000000031000000 0000000001000000
  mem...@32000000: 0000000032000000 0000000001000000
  mem...@33000000: 0000000033000000 0000000001000000
  mem...@34000000: 0000000034000000 0000000001000000
  mem...@35000000: 0000000035000000 0000000001000000
  mem...@36000000: 0000000036000000 0000000001000000
  mem...@37000000: 0000000037000000 0000000001000000
  mem...@38000000: 0000000038000000 0000000001000000
  mem...@39000000: 0000000039000000 0000000001000000
  mem...@3a000000: 000000003a000000 0000000001000000
  mem...@3b000000: 000000003b000000 0000000001000000
  mem...@3c000000: 000000003c000000 0000000001000000
  mem...@3d000000: 000000003d000000 0000000001000000
  mem...@3e000000: 000000003e000000 0000000001000000
  mem...@3f000000: 000000003f000000 0000000001000000
  mem...@40000000: 0000000040000000 0000000001000000
  mem...@41000000: 0000000041000000 0000000001000000
  mem...@42000000: 0000000042000000 0000000001000000
  mem...@43000000: 0000000043000000 0000000001000000
  mem...@44000000: 0000000044000000 0000000001000000
  mem...@45000000: 0000000045000000 0000000001000000
  mem...@46000000: 0000000046000000 0000000001000000
  mem...@47000000: 0000000047000000 0000000001000000
  mem...@48000000: 0000000048000000 0000000001000000
  mem...@49000000: 0000000049000000 0000000001000000
  mem...@4a000000: 000000004a000000 0000000001000000
  mem...@4b000000: 000000004b000000 0000000001000000
  mem...@4c000000: 000000004c000000 0000000001000000
  mem...@4d000000: 000000004d000000 0000000001000000
  mem...@4e000000: 000000004e000000 0000000001000000
  mem...@4f000000: 000000004f000000 0000000001000000
  mem...@50000000: 0000000050000000 0000000001000000
  mem...@51000000: 0000000051000000 0000000001000000
  mem...@52000000: 0000000052000000 0000000001000000
  mem...@53000000: 0000000053000000 0000000001000000
  mem...@54000000: 0000000054000000 0000000001000000
  mem...@55000000: 0000000055000000 0000000001000000
  mem...@56000000: 0000000056000000 0000000001000000
  mem...@57000000: 0000000057000000 0000000001000000
  mem...@58000000: 0000000058000000 0000000001000000
  mem...@59000000: 0000000059000000 0000000001000000
  mem...@5a000000: 000000005a000000 0000000001000000
  mem...@5b000000: 000000005b000000 0000000001000000
  mem...@5c000000: 000000005c000000 0000000001000000
  mem...@5d000000: 000000005d000000 0000000001000000
  mem...@5e000000: 000000005e000000 0000000001000000
  mem...@5f000000: 000000005f000000 0000000001000000
  mem...@60000000: 0000000060000000 0000000001000000
  mem...@61000000: 0000000061000000 0000000001000000
  mem...@62000000: 0000000062000000 0000000001000000
  mem...@63000000: 0000000063000000 0000000001000000
  mem...@64000000: 0000000064000000 0000000001000000
  mem...@65000000: 0000000065000000 0000000001000000
  mem...@66000000: 0000000066000000 0000000001000000
  mem...@67000000: 0000000067000000 0000000001000000
  mem...@68000000: 0000000068000000 0000000001000000
  mem...@69000000: 0000000069000000 0000000001000000
  mem...@6a000000: 000000006a000000 0000000001000000
  mem...@6b000000: 000000006b000000 0000000001000000
  mem...@6c000000: 000000006c000000 0000000001000000
  mem...@6d000000: 000000006d000000 0000000001000000
  mem...@6e000000: 000000006e000000 0000000001000000
  mem...@6f000000: 000000006f000000 0000000001000000
  mem...@70000000: 0000000070000000 0000000001000000
  mem...@71000000: 0000000071000000 0000000001000000
  mem...@72000000: 0000000072000000 0000000001000000
  mem...@73000000: 0000000073000000 0000000001000000
  mem...@74000000: 0000000074000000 0000000001000000
  mem...@75000000: 0000000075000000 0000000001000000
  mem...@76000000: 0000000076000000 0000000001000000
  mem...@77000000: 0000000077000000 0000000001000000
  mem...@78000000: 0000000078000000 0000000001000000
  mem...@79000000: 0000000079000000 0000000001000000
  mem...@7a000000: 000000007a000000 0000000001000000
  mem...@7b000000: 000000007b000000 0000000001000000
  
So the end of physical memory is at 7b000000 + 1000000, which
I can verify by running crash on the live system:
  
  crash> eval 7b000000 + 0x1000000
  hexadecimal: 7c000000  (1984MB)
      decimal: 2080374784  
        octal: 17400000000
       binary: 0000000000000000000000000000000001111100000000000000000000000000
  crash> eval 7c000000 / 64k
  hexadecimal: 7c00  (31KB)
      decimal: 31744  
        octal: 76000
       binary: 0000000000000000000000000000000000000000000000000111110000000000
  crash> p num_physpages
  num_physpages = $9 = 31744
  crash>
  
and which matches what's in the kernel memory zone data:

  crash> kmem -n
  NODE    SIZE      PGLIST_DATA       BOOTMEM_DATA       NODE_ZONES   
    0    31744    c00000007bfdf280  c000000000a53c50  c00000007bfdf280
                                                      c00000007bfe1900
                                                      c00000007bfe3f80
      MEM_MAP       START_PADDR  START_MAPNR
  f000000000000000       0            0     
  
  ZONE  NAME         SIZE       MEM_MAP      START_PADDR  START_MAPNR
    0   DMA         31744  f000000000000000            0            0
    1   Normal          0                 0            0            0
    2   Movable         0                 0            0            0
  
  ...

So everything looks fine.

But if your system has just a single /proc/device-tree/mem...@0
directory whose size doesn't match up with what the live kernel is
using, then that's the kernel bug. 

> In any case, unfortunately, there's nothing can be done from the crash
> utility's perspective. 

BTW, you can get minimal data from your truncated vmcore using
the --minimal switch that IBM contributed a while back:

  # crash --minimal vmcore vmlinux

It at least offers the log, dis, rd, sym and eval commands, which may
or may not help.  It's actually come in quite handy a few times.

Anyway, if you guys come up with a kernel fix, can you post it here
as well?

Thanks,
  Dave





--
Crash-utility mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/crash-utility

Reply via email to