On Thu, May 25, 2023 at 9:43 PM Rongwei Wang <rongwei.wang@linux.alibaba.com> wrote:
On 2023/5/25 20:18, lijiang wrote:

Hi, lijiang

Sorry, It seems that I miss here when I replying your previous email.

You mean 2M hugetlb will show "ZERO PAGE" when testing my patch? IMHO, I re-read mm/hugetlb.c

No. Because you mentioned that the patch does not support on hugetlbfs, I have modified those two cases, refer to the: [1](without the *MAP_HUGETLB* flag) and [2]:  https://listman.redhat.com/archives/crash-utility/2023-May/010696.html

And currently, the patch can work on the following cases:
[1] X86 64
    [a] 4k page
    [b] 2M hugepage
[2] aarch64
    [a] 4k page
    [b] 2M hugepage
    [c] 64k-512M hugepage

For aarch64 [c], I can not test it because of Oops from kernel:
...
[   37.939717] Internal error: Oops: 0000000096000006 [#1] SMP
[   37.945288] Modules linked in: rfkill vfat fat nicvf cavium_rng_vf cavium_ptp ast drm_shmem_helper i2c_algo_bit drm_kms_helper syscopyarea sysfillrect sysimgblt nicpf ipmi_ssif cavium_rng ipmi_devintf ipmi_msghandler fuse drm xfs libcrc32c sha2_ce crct10dif_ce ghash_ce sha256_arm64 sha1_ce e1000e thunderx_zip thunder_bgx thunder_xcv i2c_thunderx mdio_thunder mdio_cavium sg dm_mirror dm_region_hash dm_log dm_mod
[   37.981797] CPU: 7 PID: 1801 Comm: NetworkManager Not tainted 6.4.0-rc4+ #2
[   37.988752] Hardware name: GIGABYTE R270-T61-V6-A/MT60-SC9-V6, BIOS F02 08/06/2019
[   37.996312] pstate: 00000005 (nzcv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[   38.003267] pc : __bitmap_weight_and+0x30/0xa0
[   38.007719] lr : cpumask_weight_and+0x14/0x28
[   38.012071] sp : fffffe00214cf270
[   38.015377] x29: fffffe00214cf270 x28: fffffc01520f4c48 x27: fffffc01520f4a28
[   38.022511] x26: 0000000000000000 x25: fffffe0008100b30 x24: 0000000000000060
[   38.029644] x23: fffffe0009b18c48 x22: 0000000000000000 x21: 0000000000000001
[   38.036777] x20: 0000000000000000 x19: 0000000000000000 x18: ffffffffffffffff
[   38.043910] x17: 0000000000000000 x16: 0000000000000000 x15: fffffe00a14cf33d
[   38.051044] x14: ffffffffffffffff x13: 00302d7272652d74 x12: 0000000000000000
[   38.058177] x11: ffffffffffffffc0 x10: 0000000000000040 x9 : fffffe00085b77d0
[   38.065311] x8 : fffffc01520f51e8 x7 : 0000000000000000 x6 : 0000000000000001
[   38.072444] x5 : fffffc0128a44ac8 x4 : fffffe0008100b30 x3 : 0000000000000008
[   38.079577] x2 : 0000000000000060 x1 : 0000000000000000 x0 : fffffe0009b18c48
[   38.086711] Call trace:
[   38.089149]  __bitmap_weight_and+0x30/0xa0
[   38.093238]  cpumask_weight_and+0x14/0x28
[   38.097240]  hop_cmp+0x30/0xa8
[   38.100286]  bsearch+0x48/0xa8
[   38.103337]  sched_numa_find_nth_cpu+0x80/0x138
[   38.107864]  cpumask_local_spread+0x30/0x90
[   38.112049]  nicvf_set_irq_affinity.constprop.0+0xa4/0x120 [nicvf]
[   38.118250]  nicvf_register_interrupts+0x2b8/0x2e0 [nicvf]
[   38.123735]  nicvf_open+0x258/0x5c0 [nicvf]
[   38.127916]  __dev_open+0xfc/0x210
[   38.131314]  __dev_change_flags+0x1c4/0x248
[   38.135489]  dev_change_flags+0x28/0x78
[   38.139317]  do_setlink+0x238/0xac0
[   38.142801]  __rtnl_newlink+0x430/0x518
[   38.146629]  rtnl_newlink+0x54/0x88
[   38.150110]  rtnetlink_rcv_msg+0x130/0x398
[   38.154199]  netlink_rcv_skb+0x60/0x130
[   38.158031]  rtnetlink_rcv+0x1c/0x30
[   38.161605]  netlink_unicast+0x2dc/0x338
[   38.165519]  netlink_sendmsg+0x1dc/0x448
[   38.169434]  sock_sendmsg+0x5c/0xb0
[   38.172917]  ____sys_sendmsg+0x1f0/0x2c0
[   38.176832]  ___sys_sendmsg+0x80/0xc8
[   38.180489]  __sys_sendmsg+0x5c/0xb0
[   38.184056]  __arm64_sys_sendmsg+0x28/0x38
[   38.188144]  invoke_syscall.constprop.0+0x7c/0xd0
[   38.192851]  el0_svc_common.constprop.0+0x13c/0x158
[   38.197722]  do_el0_svc+0x38/0xa8
[   38.201030]  el0_svc+0x3c/0x198
[   38.204169]  el0t_64_sync_handler+0xb4/0x130
[   38.208432]  el0t_64_sync+0x17c/0x180
[   38.212092] Code: aa0003f7 34000395 d2800013 52800014 (f8737ac3)
[   38.218181] ---[ end trace 0000000000000000 ]---
[   38.222791] Kernel panic - not syncing: Oops: Fatal exception
[   38.228529] SMP: stopping secondary CPUs
[   38.232489] Kernel Offset: disabled
[   38.235968] CPU features: 0x00e000,00280802,04005203
[   38.240925] Memory Limit: none
[   38.243973] ---[ end Kernel panic - not syncing: Oops: Fatal exception ]---

But it is another issue. And this patch looks good to me for now. Just one thing: need add a few words to clarify them.
[1] it only supports displaying zero page for THP(except for 1G hugepage)
[2] and do not support for the hugetlb cases

So, for v3: Ack.

Thanks.
Lianbo