[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