<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<tt>-  Addressed a number of issues associated with CONFIG_SPARSEMEM</tt>
<br><tt>   kernels and kernels using updated manners for the
linkage of</tt>
<br><tt>   their pglist_data structures, and pointers to their
mem_map arrays.</tt>
<br><tt>   (anderson@redhat.com)</tt><tt></tt>
<p><tt>-  Implemented "kmem -n" for CONFIG_SPARSEMEM kernels; in addition</tt>
<br><tt>   to the pgdat- and zone-related data command output,
it also</tt>
<br><tt>   displays a list of the SPARSEMEM mem_sections. 
Here is an</tt>
<br><tt>   example from an ia64:</tt>
<br><tt> </tt>
<br><tt>    crash> kmem -n</tt>
<br><tt>    NODE    SIZE     
PGLIST_DATA       BOOTMEM_DATA      
NODE_ZONES</tt>
<br><tt>      0   2359296  
e000000008c00000  a000000100749b70  e000000008c00000</tt>
<br><tt>                                                       
e000000008c02400</tt>
<br><tt>                                                       
e000000008c04800</tt>
<br><tt>                                                       
e000000008c06c00</tt>
<br><tt>        MEM_MAP      
START_PADDR  START_MAPNR</tt>
<br><tt>    e0000001040a3f00      
0            0</tt>
<br><tt> </tt>
<br><tt>    ZONE  NAME        
SIZE       MEM_MAP     
START_PADDR  START_MAPNR</tt>
<br><tt>      0   DMA       
262144  e0000001040a3f00           
0            0</tt>
<br><tt>      1   DMA32          
0                
0            0           
0</tt>
<br><tt>      2   Normal   
2097152  e0000001048a3f00    100000000      
262144</tt>
<br><tt>      3   HighMem        
0                
0            0           
0</tt>
<br><tt> </tt>
<br><tt>    -------------------------------------------------------------------</tt>
<br><tt> </tt>
<br><tt>    NR      SECTION       
CODED_MEM_MAP        MEM_MAP      
PFN</tt>
<br><tt>     0  e00000010409ff00  e0000001040a3f00 
e0000001040a3f00  0</tt>
<br><tt>     1  e00000010409ff08  e0000001040a3f00 
e0000001044a3f00  65536</tt>
<br><tt>     4  e00000010409ff20  e0000001038a3f00 
e0000001048a3f00  262144</tt>
<br><tt>     5  e00000010409ff28  e0000001038a3f00 
e000000104ca3f00  327680</tt>
<br><tt>     6  e00000010409ff30  e0000001038a3f00 
e0000001050a3f00  393216</tt>
<br><tt>     7  e00000010409ff38  e0000001038a3f00 
e0000001054a3f00  458752</tt>
<br><tt>     8  e00000010409ff40  e0000001038a3f00 
e0000001058a3f00  524288</tt>
<br><tt>     9  e00000010409ff48  e0000001038a3f00 
e000000105ca3f00  589824</tt>
<br><tt>    10  e00000010409ff50  e0000001038a3f00 
e0000001060a3f00  655360</tt>
<br><tt>    11  e00000010409ff58  e0000001038a3f00 
e0000001064a3f00  720896</tt>
<br><tt>    12  e00000010409ff60  e0000001038a3f00 
e0000001068a3f00  786432</tt>
<br><tt>    13  e00000010409ff68  e0000001038a3f00 
e000000106ca3f00  851968</tt>
<br><tt>    14  e00000010409ff70  e0000001038a3f00 
e0000001070a3f00  917504</tt>
<br><tt>    15  e00000010409ff78  e0000001038a3f00 
e0000001074a3f00  983040</tt>
<br><tt>    16  e00000010409ff80  e0000001038a3f00 
e0000001078a3f00  1048576</tt>
<br><tt>    17  e00000010409ff88  e0000001038a3f00 
e000000107ca3f00  1114112</tt>
<br><tt>    18  e00000010409ff90  e0000001038a3f00 
e0000001080a3f00  1179648</tt>
<br><tt>    19  e00000010409ff98  e0000001038a3f00 
e0000001084a3f00  1245184</tt>
<br><tt>    20  e00000010409ffa0  e0000001038a3f00 
e0000001088a3f00  1310720</tt>
<br><tt>    21  e00000010409ffa8  e0000001038a3f00 
e000000108ca3f00  1376256</tt>
<br><tt>    22  e00000010409ffb0  e0000001038a3f00 
e0000001090a3f00  1441792</tt>
<br><tt>    23  e00000010409ffb8  e0000001038a3f00 
e0000001094a3f00  1507328</tt>
<br><tt>    34  e0000001040a0010  e0000001010a3f00 
e0000001098a3f00  2228224</tt>
<br><tt>    35  e0000001040a0018  e0000001010a3f00 
e000000109ca3f00  2293760</tt>
<br><tt>    crash></tt>
<br><tt>   (anderson@redhat.com)</tt><tt></tt>
<p><tt>-  Fix for "kmem -i" failure in CONFIG_SPARSEMEM kernels that
would</tt>
<br><tt>   typically fail with the error message: "kmem: invalid
kernel virtual</tt>
<br><tt>   address: 0  type: node_zones free_pages". (anderson@redhat.com)</tt><tt></tt>
<p><tt>-  Fix for "kmem -f" failure in CONFIG_SPARSEMEM kernels that
would</tt>
<br><tt>   typically fail with the error message: "kmem: invalid
kernel virtual</tt>
<br><tt>   address: ab8  type: node_zones name".  (anderson@redhat.com)</tt><tt></tt>
<p><tt>-  Fix for "kmem -f" failure in 2.6.17 kernels (possibly earlier)
that</tt>
<br><tt>   would fail with the error message: "kmem: invalid
structure member</tt>
<br><tt>   offset: zone_zone_mem_map".  (anderson@redhat.com)</tt><tt></tt>
<p><tt>-  Fix for "kmem [address]" failure in 2.6.17 kernels (possibly
earlier)</tt>
<br><tt>   that would fail with the error message: "kmem: invalid
structure</tt>
<br><tt>   member offset: zone_zone_mem_map".  (anderson@redhat.com)</tt><tt></tt>
<p><tt>-  Fix for "kmem -i" that resulted in a bogus "CACHED" page
count</tt>
<br><tt>   value.  (anderson@redhat.com)</tt><tt></tt>
<p><tt>-  As an result of the last "kmem -i" fix, I've added a new
"kmem -V"</tt>
<br><tt>   option that dumps the kernel's new vm_stat[] array
contents by</tt>
<br><tt>   their enum values:</tt><tt></tt>
<p><tt>    crash> kmem -V</tt>
<br><tt>           NR_ANON_PAGES:
38656</tt>
<br><tt>          NR_FILE_MAPPED:
3116</tt>
<br><tt>           NR_FILE_PAGES:
141106</tt>
<br><tt>                
NR_SLAB: 58605</tt>
<br><tt>           
NR_PAGETABLE: 1059</tt>
<br><tt>           NR_FILE_DIRTY:
7</tt>
<br><tt>           
NR_WRITEBACK: 0</tt>
<br><tt>         NR_UNSTABLE_NFS:
0</tt>
<br><tt>              
NR_BOUNCE: 0</tt>
<br><tt>               
NUMA_HIT: 86475467</tt>
<br><tt>              
NUMA_MISS: 0</tt>
<br><tt>           
NUMA_FOREIGN: 0</tt>
<br><tt>     NUMA_INTERLEAVE_HIT: 31523</tt>
<br><tt>             
NUMA_LOCAL: 86475467</tt>
<br><tt>             
NUMA_OTHER: 0</tt>
<br><tt>    crash></tt><tt></tt>
<p><tt>  Interally, a new dump_vm_stat() function has been added to
access</tt>
<br><tt>  any of the items in the list.  (anderson@redhat.com)</tt><tt></tt>
<p><tt>- Implemented support for relocatable x86_64 live kernels and kdump</tt>
<br><tt>  generated vmcores.  Without this patch, attempts to
analyze those</tt>
<br><tt>  kernels would fail during initialization with the error
message:</tt>
<br><tt>  "crash: vmlinux and vmcore do not match!"  (anderson@redhat.com)</tt><tt></tt>
<p><tt>- Support for recognizing real-time signals in the "sig" command.</tt>
<br><tt>  (olivier.daudel@u-paris10.fr)</tt><tt></tt>
<p><tt>- Fix for "sys -c" display of "sys_ni_syscall" entries that showed</tt>
<br><tt>  different system call names that have the same (W) symbol
value</tt>
<br><tt>  as the (T) symbol "sys_ni_syscall".  For example:</tt><tt></tt>
<p><tt>   crash> sym -l | grep ffffffff802a38b6</tt>
<br><tt>   ffffffff802a38b6 (W) compat_sys_ipc</tt>
<br><tt>   ffffffff802a38b6 (W) compat_sys_keyctl</tt>
<br><tt>   ffffffff802a38b6 (W) compat_sys_sysctl</tt>
<br><tt>   ffffffff802a38b6 (W) ppc_rtas</tt>
<br><tt>   ffffffff802a38b6 (T) sys_ni_syscall</tt>
<br><tt>   ffffffff802a38b6 (W) sys_pciconfig_iobase</tt>
<br><tt>   ffffffff802a38b6 (W) sys_pciconfig_read</tt>
<br><tt>   ffffffff802a38b6 (W) sys_pciconfig_write</tt>
<br><tt>   ffffffff802a38b6 (W) sys_spu_create</tt>
<br><tt>   ffffffff802a38b6 (W) sys_spu_run</tt>
<br><tt>   ffffffff802a38b6 (W) sys_vm86</tt>
<br><tt>   ffffffff802a38b6 (W) sys_vm86old</tt>
<br><tt>   crash></tt><tt></tt>
<p><tt>- Depending upon the kernel, one of those symbols would be displayed</tt>
<br><tt>  instead of sys_ni_syscall.  (olivier.daudel@u-paris10.fr)</tt><tt></tt>
<p><tt>- Fix for "sig" command where in later 2.6 kernels, the queued signal</tt>
<br><tt>  list at the end of the display would loop back on itself,
repeatedly</tt>
<br><tt>  displaying the same queued signal(s).  (olivier.daudel@u-paris10.fr)</tt>
<br><tt></tt> <tt></tt>
<p><tt>Download from:  <A HREF="http://people.redhat.com/anderson">http://people.redhat.com/anderson</A></tt>
<br><tt> </tt>
<br><tt></tt> </html>