<!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>