Re: [PATCH v2 3/6] Add tree cmd support for maple tree

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

 



On Mon, Nov 7, 2022 at 3:52 PM HAGIO KAZUHITO(萩尾 一仁) <k-hagio-ab@xxxxxxx> wrote:
>
> On 2022/10/25 21:38, Tao Liu wrote:
> > Maple tree is a new data structure for crash, so cmd_tree support is
> > needed for users to dump and view the content of maple tree. This patch
> > achieves this by porting mt_dump() and its related functions from kernel,
> > and adapting them with tree cmd.
>
> ah.. so the v2 patch set has almost two function sets to walk a
> maple tree, starting from vma_next() (i.e. mas_find()) and
> do_maple_tree_traverse(), right?
>
> My concern is that maybe we get different results between them.
> It will be better to use do_maple_tree(GATHER or DUMP_CB) for vma
> iteration, but it may be hard to emulate mas_find() well..
> What do you think?
>
Yes, I agree. I have removed mas_find(), and taken do_maple_tree(COUNT
& GATHER) as a way for maple tree iteration in v3.

> >
> > We introduced a new -v arg specifically for dumping the complete
> > content of maple tree:
> >
> >      crash> tree -t maple 0xffff9034c006aec0 -v
> >
> >      maple_tree(ffff9034c006aec0) flags 309, height 0 root 0xffff9034de70041e
> >
> >      0-18446744073709551615: node 0xffff9034de700400 depth 0 type 3 parent 0xffff9034c006aec1 contents:...
> >        0-140112331583487: node 0xffff9034c01e8800 depth 1 type 1 parent 0xffff9034de700406 contents:...
> >       0-94643156942847: (nil)
> >       94643156942848-94643158024191: 0xffff9035131754c0
> >       94643158024192-94643160117247: (nil)
> >       ...
>
> Please add warnings about exclusive options, e.g.
>
> crash> tree -t xarray -v ...
> tree: -v option is not applicable to Xarrays
>
> crash> tree -t maple -l ...
> tree: -l option is not applicable to Maple trees
>
> It may be better to have a tree type string.
>
>    else if (STRNEQ(optarg, "m")) {
>        type_flag = MAPLE_REQUEST;
>        type_name = "Maple trees";
>    }
>
Thanks for the suggestion, fixed in v3.

> Also there is need to support CRASHDEBUG(1) in cmd_tree().
>
> crash> set debug 1
> debug: 1
> crash> tree -t maple 0xffff8bb804d54840 -v | head
>               flags: 200 ()               <<--
>                type: red-black (default)  <<--
>        node pointer: no
>               start: ffff8bb804d54840
> node_member_offset: 0
>     structname_args: 0
>               count: 0
> maple_tree(ffff8bb804d54840) flags 30D, height 0 root 0xffff8bb803a19d1e
> ...
>
ditto.

Thanks,
Tao Liu

> Thanks,
> Kazu

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