136 lines
6.3 KiB
Diff
136 lines
6.3 KiB
Diff
|
From a3dbd5c455992baf6bfc196b9059a2b485823b83 Mon Sep 17 00:00:00 2001
|
||
|
From: Tao Liu <ltao@redhat.com>
|
||
|
Date: Tue, 10 Jan 2023 14:56:31 +0800
|
||
|
Subject: [PATCH 69/89] Update the help text of "tree" command for maple tree
|
||
|
|
||
|
Signed-off-by: Tao Liu <ltao@redhat.com>
|
||
|
Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
|
||
|
---
|
||
|
help.c | 86 +++++++++++++++++++++++++++++++++++++++++++---------------
|
||
|
1 file changed, 64 insertions(+), 22 deletions(-)
|
||
|
|
||
|
diff --git a/help.c b/help.c
|
||
|
index bfba43f6e9fd..7ceefa06732b 100644
|
||
|
--- a/help.c
|
||
|
+++ b/help.c
|
||
|
@@ -6313,19 +6313,20 @@ NULL
|
||
|
|
||
|
char *help_tree[] = {
|
||
|
"tree",
|
||
|
-"display radix tree, XArray or red-black tree",
|
||
|
-"[-t [radix|xarray|rbtree]] [-r offset] [-[s|S] struct[.member[,member]]]\n -[x|d] [-o offset] [-l] [-p] [-N] start",
|
||
|
-" This command dumps the contents of a radix tree, an XAarray, or a red-black",
|
||
|
-" tree. The arguments are as follows:\n",
|
||
|
+"display radix tree, XArray, red-black tree or maple tree",
|
||
|
+"[-t [radix|xarray|rbtree|maple]] [-r offset] [-[s|S] struct[.member[,member]]]\n"
|
||
|
+" -[x|d] [-o offset] [-l] [-p] [-v] [-N] start",
|
||
|
+" This command dumps the contents of a radix tree, an XAarray, a red-black",
|
||
|
+" tree, or a maple tree. The arguments are as follows:\n",
|
||
|
" -t type The type of tree to dump; the type string can be one of ",
|
||
|
-" \"radix\", \"rbtree\", or \"xarray\", or alternatively, \"ra\",",
|
||
|
-" \"rb\" or \"x\" are acceptable. If not specified, rbtree is the",
|
||
|
-" default type.",
|
||
|
+" \"radix\", \"rbtree\", \"xarray\", or \"maple\", or alternatively,",
|
||
|
+" \"ra\", \"rb\", \"x\" or \"m\" are acceptable. If not specified,",
|
||
|
+" rbtree is the default type.",
|
||
|
" -r offset If the \"start\" argument is the address of a data structure that",
|
||
|
-" contains an radix_tree_root, xarray or rb_root structure, then this",
|
||
|
-" is the offset to that structure member. If the offset is non-zero,",
|
||
|
-" then this option is required. The offset may be entered in either",
|
||
|
-" of two manners:",
|
||
|
+" contains an radix_tree_root, maple_tree, xarray or rb_root",
|
||
|
+" structure, then this is the offset to that structure member. If",
|
||
|
+" the offset is non-zero, then this option is required. The offset",
|
||
|
+" may be entered in either of two manners:",
|
||
|
" 1. In \"structure.member\" format.",
|
||
|
" 2. A number of bytes.",
|
||
|
" -o offset For red-black trees only, the offset of the rb_node within its ",
|
||
|
@@ -6354,25 +6355,26 @@ char *help_tree[] = {
|
||
|
" -p Display the node's position information, showing the relationship",
|
||
|
" between it and the root. For red-black trees, a position that",
|
||
|
" indicates \"root/l/r\" means that the node is the right child",
|
||
|
-" of the left child of the root node. For radix trees and xarrays,",
|
||
|
-" the index, the height, and the slot index values are shown with",
|
||
|
-" respect to the root.",
|
||
|
+" of the left child of the root node. For radix trees, xarrays and",
|
||
|
+" maple trees, the index, the height, and the slot index values are",
|
||
|
+" shown with respect to the root.",
|
||
|
" -x Override default output format with hexadecimal format.",
|
||
|
" -d Override default output format with decimal format.",
|
||
|
+" -v For maple trees only, dump the contents of each maple tree node.",
|
||
|
" ",
|
||
|
" The meaning of the \"start\" argument, which can be expressed either in",
|
||
|
" hexadecimal format or symbolically, depends upon whether the -N option",
|
||
|
" is prepended:",
|
||
|
" ",
|
||
|
-" start The address of a radix_tree_root, xarray or rb_root structure, or",
|
||
|
-" the address of a structure containing the radix_tree_root, xarray",
|
||
|
-" or rb_root structure; if the latter, then the \"-r offset\" option",
|
||
|
-" must be used if the member offset of the root structure is ",
|
||
|
-" non-zero.",
|
||
|
+" start The address of a radix_tree_root, maple_tree, xarray or rb_root",
|
||
|
+" structure, or the address of a structure containing the",
|
||
|
+" radix_tree_root, maple_tree, xarray or rb_root structure; if the",
|
||
|
+" latter, then the \"-r offset\" option must be used if the member",
|
||
|
+" offset of the root structure is non-zero.",
|
||
|
" ",
|
||
|
-" -N start The address of a radix_tree_node, xa_node or rb_node structure,",
|
||
|
-" bypassing the radix_tree_root, xarray, or rb_root that points",
|
||
|
-" to it.",
|
||
|
+" -N start The address of a radix_tree_node, maple_node, xa_node or rb_node",
|
||
|
+" structure, bypassing the radix_tree_root, maple_tree, xarray, or",
|
||
|
+" rb_root that points to it.",
|
||
|
"",
|
||
|
"\nEXAMPLES",
|
||
|
" The vmap_area_root is a standalone rb_root structure. Display the ",
|
||
|
@@ -6709,6 +6711,46 @@ char *help_tree[] = {
|
||
|
" _refcount = {",
|
||
|
" counter = 0x1",
|
||
|
" }",
|
||
|
+"",
|
||
|
+" The -v option is introduced specifically for dumping the complete content of",
|
||
|
+" maple tree:",
|
||
|
+"",
|
||
|
+" %s> tree -t maple 0xffff9034c006aec0 -v",
|
||
|
+"",
|
||
|
+" maple_tree(ffff9034c006aec0) flags 309, height 2 root 0xffff9034de70041e",
|
||
|
+"",
|
||
|
+" 0-18446744073709551615: node 0xffff9034de700400 depth 0 type 3 parent ...",
|
||
|
+" 0-140112331583487: node 0xffff9034c01e8800 depth 1 type 1 parent ...",
|
||
|
+" 0-94643156942847: 0x0",
|
||
|
+" 94643156942848-94643158024191: 0xffff9035131754c0",
|
||
|
+" 94643158024192-94643160117247: 0x0",
|
||
|
+" ...",
|
||
|
+"",
|
||
|
+" The existing options can work as well for maple tree:",
|
||
|
+"",
|
||
|
+" %s> tree -t maple -r mm_struct.mm_mt 0xffff9034c006aec0 -p",
|
||
|
+" ffff9035131754c0",
|
||
|
+" index: 1 position: root/0/1",
|
||
|
+" ffff9035131751c8",
|
||
|
+" index: 2 position: root/0/3",
|
||
|
+" ffff9035131757b8",
|
||
|
+" index: 3 position: root/0/4",
|
||
|
+" ...",
|
||
|
+"",
|
||
|
+" %s> tree -t maple 0xffff9034c006aec0 -p -x -s vm_area_struct.vm_start,vm_end",
|
||
|
+" ffff9035131754c0",
|
||
|
+" index: 1 position: root/0/1",
|
||
|
+" vm_start = 0x5613d3c00000,",
|
||
|
+" vm_end = 0x5613d3d08000,",
|
||
|
+" ffff9035131751c8",
|
||
|
+" index: 2 position: root/0/3",
|
||
|
+" vm_start = 0x5613d3f07000,",
|
||
|
+" vm_end = 0x5613d3f0b000,",
|
||
|
+" ffff9035131757b8",
|
||
|
+" index: 3 position: root/0/4",
|
||
|
+" vm_start = 0x5613d3f0b000,",
|
||
|
+" vm_end = 0x5613d3f14000,",
|
||
|
+" ....",
|
||
|
NULL
|
||
|
};
|
||
|
|
||
|
--
|
||
|
2.37.1
|
||
|
|