----- Original Message -----
Modified. I remain the "-N" option. But for radix tree on
RHEL5 or
below, the height does not exist. So "-N" is not supported for radix
tree on these version.
This is getting tiresome...
With this patch, both red-black or radix tree dumps fail
when dumped from their roots, on RHEL5, RHEL6 and Fedora.
Here are the results using the simple examples shown in your help page.
RHEL5 red-black tree:
crash> vm | head -3
PID: 15684 TASK: ffff81001b4c1820 CPU: 6 COMMAND: "crash"
MM PGD RSS TOTAL_VM
ffff81003b5beb00 ffff810014b43000 112352k 195584k
crash> mm_struct.mm_rb ffff81003b5beb00
mm_rb = {
rb_node = 0xffff8100110a1e78
}
crash> tree -t rb -r mm_struct.mm_rb -o vm_area_struct.vm_rb ffff81003b5beb00
tree: "-r offset" is useless when specified "-N"ffff81003b5bead0
ffff810033522738
7fff36916fd0
tree: invalid kernel virtual address: 7fff36917010 type: "rb_node rb_left"
crash>
RHEL5 radix tree:
crash> vtop 400000 | tail -2
PAGE PHYSICAL MAPPING INDEX CNT FLAGS
ffff810000a58f88 fc47000 ffff81001d391518 0 3 808000000086c
crash> address_space.page_tree ffff81001d391518
page_tree = {
height = 3,
gfp_mask = 544,
rnode = 0xffff81000e2ec540
}
crash> tree -t radix -r address_space.page_tree ffff81001d391518
tree: invalid structure member offset: radix_tree_node_height
FILE: tools.c LINE: 3756 FUNCTION: do_rdtree()
[./crash] error trace: 45a150 => 466d7e => 46571a => 4f8040
4f8040: OFFSET_verify+224
46571a: do_rdtree+570
466d7e: cmd_tree+670
45a150: exec_command+1328
tree: "-r offset" is useless when specified "-N"tree: invalid
structure member offset: radix_tree_node_height
FILE: tools.c LINE: 3756 FUNCTION: do_rdtree()
crash>
RHEL6 red-black tree:
crash> vm | head -3
PID: 861 TASK: ffff880037309500 CPU: 0 COMMAND: "crash"
MM PGD RSS TOTAL_VM
ffff880037b4d280 ffff880015877000 154492k 291112k
crash> mm_struct.mm_rb ffff880037b4d280
mm_rb = {
rb_node = 0xffff880004d0ee40
}
crash> tree -t rb -r mm_struct.mm_rb -o vm_area_struct.vm_rb ffff880037b4d280
tree: "-r offset" is useless when specified "-N"ffff880037b4d248
ffff88003a0dd750
7fff2fb5cfc8
tree: invalid kernel virtual address: 7fff2fb5d010 type: "rb_node rb_left"
crash>
RHEL6 radix tree:
crash> vtop 400000 | tail -2
PAGE PHYSICAL MAPPING INDEX CNT FLAGS
ffffea000070bde0 20364000 ffff880024da3de0 0 3 2000000000086c
crash> address_space.page_tree ffff880024da3de0
page_tree = {
height = 3,
gfp_mask = 32,
rnode = 0xffff88001da1c911
}
crash> tree -t radix -r address_space.page_tree ffff880024da3de0
tree: "-r offset" is useless when specified "-N"tree: "-N"
option is not supported or applicable for radix tree on this architecture or kernel
crash>
Fedora 3.3.1-3.fc16 red-black tree:
crash> vm | head -3
PID: 1175 TASK: ffff88003acb9730 CPU: 2 COMMAND: "crash"
MM PGD RSS TOTAL_VM
ffff880038495c00 ffff88003ac5a000 181580k 335436k
crash> mm_struct.mm_rb ffff880038495c00
mm_rb = {
rb_node = 0xffff880036ae4668
}
crash> tree -t rb -r mm_struct.mm_rb -o vm_area_struct.vm_rb ffff880038495c00
tree: "-r offset" is useless when specified "-N"ffff880038495bc8
ffff880036ae4968
4703fc8
tree: invalid kernel virtual address: 4704010 type: "rb_node rb_left"
crash>
Fedora 3.3.1-3.fc16 radix tree:
crash> vtop 400000 | tail -2
PAGE PHYSICAL MAPPING INDEX CNT FLAGS
ffffea0000ad2500 2b494000 ffff88003a209320 0 2 2000000002006c
crash> address_space.page_tree ffff88003a209320
page_tree = {
height = 2,
gfp_mask = 32,
rnode = 0xffff88003dff6e99
}
crash> tree -t radix -r address_space.page_tree ffff88003a209320
tree: "-r offset" is useless when specified "-N"tree: "-N"
option is not supported or applicable for radix tree on this architecture or kernel
crash>
Do you even test these patches before posting them?
Dave