On Tue, Oct 25, 2022 at 8:39 PM <crash-utility-request(a)redhat.com> wrote:
Date: Tue, 25 Oct 2022 20:38:19 +0800
From: Tao Liu <ltao(a)redhat.com>
To: crash-utility(a)redhat.com
Subject: [Crash-utility] [PATCH v2 0/6] Add maple tree vma iteration
support for crash
Message-ID: <20221025123825.36421-1-ltao(a)redhat.com>
Content-Type: text/plain; charset="US-ASCII"; x-default=true
Patchset [1] introduces maple tree data structure for linux, and the
modification on mm subsystem.
The main impact on crash utility, is the modification on vm_area_struct.
Patch [2][3] removed the rbtree and linked list iteration of
vm_area_struct, making it impossible for crash to iterate vma
in the traditional way. For example, we can observe the failing
of crash cmd vm/fuser on kernel which has integrated with patchset [1].
This patchset deals with the issue by porting and adapting
kernel's maple tree vma iteration code to crash utility. It has been
tested on linux-next-next-20220914 [4].
[1]:
https://lore.kernel.org/all/20220906194824.2110408-1-Liam.Howlett@oracle....
[2]:
https://github.com/oracle/linux-uek/commit/d19703645b80abe35dff1a88449d07...
[3]:
https://github.com/oracle/linux-uek/commit/91dee01f1ebb6b6587463b6ee6f7bb...
[4]:
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/snaps...
v1 -> v2:
1) Move xarray.h and maple_tree_vma.h into maple.h.
2) Remove variable-length array for maple_tree.c.
3) Add tree cmd and do_maple_tree() support for maple tree.
Thank you for the update, Tao. We are getting back on the right path.
Lianbo
4) Other small modifications.
Tao Liu (6):
Port the maple tree data structures and main functions
Introduce maple tree vma iteration to memory.c
Add tree cmd support for maple tree
Update the maple tree help info for tree cmd
Add do_maple_tree support for maple tree
Dump maple tree offset variables by help -o
Makefile | 12 +-
defs.h | 30 ++
help.c | 45 +-
maple_tree.c | 1367 ++++++++++++++++++++++++++++++++++++++++++++++++++
maple_tree.h | 214 ++++++++
memory.c | 319 +++++++-----
symbols.c | 40 ++
tools.c | 20 +-
8 files changed, 1885 insertions(+), 162 deletions(-)
create mode 100644 maple_tree.c
create mode 100644 maple_tree.h
--
2.33.1