[Crash-utility] [PATCH] Fix "vtop" command to display the swapinfo for arm64 kernel 6.1+

lijiang lijiang at redhat.com
Tue Sep 26 11:44:43 UTC 2023


Hi, Cheng
Thank you for the fix.
On Thu, Sep 14, 2023 at 4:05 PM <crash-utility-request at redhat.com> wrote:

> Date: Thu, 14 Sep 2023 07:51:31 +0000
> From: ??? <chenguanyou at xiaomi.com>
> To: "crash-utility at redhat.com" <crash-utility at redhat.com>
> Cc: "lijiang at redhat.com" <lijiang at redhat.com>, "k-hagio-ab at nec.com"
>         <k-hagio-ab at nec.com>
> Subject: [Crash-utility] [PATCH] Fix "vtop" command to display the
>         swapinfo for arm64 kernel 6.1+
> Message-ID: <bba8281d4e4f41308ce095c89fe04d1c at xiaomi.com>
> Content-Type: text/plain; charset="gb2312"
>
> #define __SWP_TYPE_SHIFT    3
> #define __SWP_TYPE_BITS     5
>
>
Can you help to add the related kernel commit to the patch log? For this
one, it should be the following commit:
570ef363509b ("arm64/pgtable: support __HAVE_ARCH_PTE_SWP_EXCLUSIVE")

Before:
> crash> vtop 70504000
> VIRTUAL     PHYSICAL
> 70504000    (not mapped)
>
> PAGE DIRECTORY: ffffff80f265c000
>    PGD: ffffff80f265c008 => 800000141537003
>    PMD: ffffff8101537c10 => 800000141538003
>    PTE: ffffff8101538820 => 12bc3e04
>
>   PTE     vtop: cannot determine swap location
>
> After:
> crash> vtop 70504000
> VIRTUAL     PHYSICAL
> 70504000    (not mapped)
>
> PAGE DIRECTORY: ffffff80f265c000
>    PGD: ffffff80f265c008 => 800000141537003
>    PMD: ffffff8101537c10 => 800000141538003
>    PTE: ffffff8101538820 => 12bc3e04
>
>   PTE                     SWAP                  OFFSET
> 12bc3e04  /first_stage_ramdisk/dev/block/zram0  1227838
>
>       VMA           START       END     FLAGS FILE
> ffffff80dfe7b578   70504000   707bd000 100073
>
> SWAP: /first_stage_ramdisk/dev/block/zram0  OFFSET: 1227838
>
> Signed-off-by: chenguanyou <chenguanyou at xiaomi.com>
> ---
>  arm64.c | 12 ++++++++++--
>  1 file changed, 10 insertions(+), 2 deletions(-)
>
> diff --git a/arm64.c b/arm64.c
> index 39d5f04..ea1b51b 100644
> --- a/arm64.c
> +++ b/arm64.c
> @@ -468,8 +468,16 @@ arm64_init(int when)
>             }
>         }
>
> -
> -       if (THIS_KERNEL_VERSION >= LINUX(4,0,0)) {
> +       if (THIS_KERNEL_VERSION >= LINUX(6,1,0)) {
>

In addition, the related kernel change was done in v5.19-rc1, not in the
linux 6.1.0.

$ git describe --contains 570ef363509b031966ed669fa002c8441dff273c
v5.19-rc1~138^2~226

So it should be the '>=LINUX(5,19,0)', can you also help to confirm this
one?

Thanks
Lianbo

+           ms->__SWP_TYPE_BITS = 5;
> +           ms->__SWP_TYPE_SHIFT = 3;
> +           ms->__SWP_TYPE_MASK = ((1UL << ms->__SWP_TYPE_BITS) - 1);
> +           ms->__SWP_OFFSET_SHIFT = (ms->__SWP_TYPE_BITS +
> ms->__SWP_TYPE_SHIFT);
> +           ms->__SWP_OFFSET_BITS = 50;
> +           ms->__SWP_OFFSET_MASK = ((1UL << ms->__SWP_OFFSET_BITS) - 1);
> +           ms->PTE_PROT_NONE = (1UL << 58);
> +           ms->PTE_FILE = 0;  /* unused */
> +       } else if (THIS_KERNEL_VERSION >= LINUX(4,0,0)) {
>             ms->__SWP_TYPE_BITS = 6;
>             ms->__SWP_TYPE_SHIFT = 2;
>             ms->__SWP_TYPE_MASK = ((1UL << ms->__SWP_TYPE_BITS) - 1);
> --
> 2.39.0
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/crash-utility/attachments/20230926/ae2e2828/attachment-0001.htm>


More information about the Crash-utility mailing list