Re: [PATCH] Fix "vtop" command to display the swapinfo for arm64 kernel 6.1+

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

 



Hi, Cheng
Thank you for the fix.
On Thu, Sep 14, 2023 at 4:05 PM <crash-utility-request@xxxxxxxxxx> wrote:
Date: Thu, 14 Sep 2023 07:51:31 +0000
From: ??? <chenguanyou@xxxxxxxxxx>
To: "crash-utility@xxxxxxxxxx" <crash-utility@xxxxxxxxxx>
Cc: "lijiang@xxxxxxxxxx" <lijiang@xxxxxxxxxx>, "k-hagio-ab@xxxxxxx"
        <k-hagio-ab@xxxxxxx>
Subject: [PATCH] Fix "vtop" command to display the
        swapinfo for arm64 kernel 6.1+
Message-ID: <bba8281d4e4f41308ce095c89fe04d1c@xxxxxxxxxx>
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@xxxxxxxxxx>
---
 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
--
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