Re: [RFC] [PATCH 0/6] Add maple tree vma iteration support for crash

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Kazu,

Thanks for your review and comments!

On Wed, Oct 5, 2022 at 4:30 PM HAGIO KAZUHITO(萩尾 一仁) <k-hagio-ab@xxxxxxx> wrote:
>
> On 2022/09/20 0:10, Tao Liu wrote:
> > 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].
> >
> > Patch 1: the pure copy-and-paste work, extracting related kernel
> >           structures, functions, constants to crash.
> > Patch 2: minimal code modification for crash adaption, kernel
> >           structures are kept for member resolving.
> > Patch 3: modification on crash memory.c to use the maple vma
> >           iteration.
> >
> > The idea is to make patch 1-3 a POC work.
> >
> > Patch 4: Get rid of kernel structures by rewriting the structure
> >           member resolving code into the crash way, aka change
> >           "node->member" into "readmem(node) and OFFSET(member)"
> > Patch 5: print the added variables of offset/size table
> > Patch 6: Get rid of the compiling-time assgined arrays.
> >
> > Patch 4-6 will make the POC work formal for use.
>
> Thank you for working on this!  and sorry for the delay.
>
np.

> The patchset on the whole looks good and no problem was detected
> so far at my end.  Some comments below and inline.
>
> - Ideally it's better also for "tree" command to support the maple
> tree like "tree -t maple", is it possible?
>
> It's ok at all to do this later, but the maple tree looks too
> complicated to me to be supported fully by the tree command..
> If it looks possible, it might be better to have some preparation
> at this point.
>
Yes, I plan to support maple tree in tree cmd, I don't know if it can
be compatible with tree cmd, but it is worth trying. I will go with
another patchset for tree cmd support of maple tree.

> - Please fix the compilation warnings with "make clean ; make warn".
OK, I will get it fixed in v2, as well as the comments you inlined in
other patches.

Thanks,
Tao Liu

>
> Thanks,
> Kazu
>
> >
> >
> > [1]: https://lore.kernel.org/all/20220906194824.2110408-1-Liam.Howlett@xxxxxxxxxx/
> > [2]: https://github.com/oracle/linux-uek/commit/d19703645b80abe35dff1a88449d074b0b5b1bb1
> > [3]: https://github.com/oracle/linux-uek/commit/91dee01f1ebb6b6587463b6ee6f7bbc4965f91d5
> > [4]: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/snapshot/linux-next-next-20220914.tar.gz
> >
> > Tao Liu (6):
> >    Port linux maple tree related files to crash
> >    Maple tree kernel code modification for step 1
> >    Introduce maple tree vma iteration to memory.c
> >    Maple tree kernel code modification for step 2
> >    Dump maple tree offset variables by help -o
> >    Remove mt_slots and mt_pivots array assignment
> >
> >   Makefile         |  12 +-
> >   defs.h           |  19 ++
> >   maple_tree.c     | 824 +++++++++++++++++++++++++++++++++++++++++++++++
> >   maple_tree.h     | 109 +++++++
> >   maple_tree_vma.h |  34 ++
> >   memory.c         | 315 ++++++++++--------
> >   symbols.c        |  34 ++
> >   xarray.h         |  70 ++++
> >   8 files changed, 1285 insertions(+), 132 deletions(-)
> >   create mode 100644 maple_tree.c
> >   create mode 100644 maple_tree.h
> >   create mode 100644 maple_tree_vma.h
> >   create mode 100644 xarray.h
> >

--
Crash-utility mailing list
Crash-utility@xxxxxxxxxx
https://listman.redhat.com/mailman/listinfo/crash-utility
Contribution Guidelines: https://github.com/crash-utility/crash/wiki




[Index of Archives]     [Fedora Development]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]     [Fedora Tools]

 

Powered by Linux