From ec97992b78bf52ee57b9047b32e45cd4d2d1ad29 Mon Sep 17 00:00:00 2001 From: Minchan Kim Date: Fri, 25 Mar 2022 12:48:16 -0700 Subject: [PATCH] dump page_pinner information into bugreport Dump page_pinner information into dumpstate_board.txt. It helps to find vulnerable place of CMA failure. Page pinned ts 13 us count 0 PFN 10292273 Block 10051 type CMA Flags 0x8000000000080024(uptodate|active|swapbacked) try_grab_page+0x168/0x17c follow_page_pte+0x2e4/0x4c8 follow_pmd_mask+0x180/0x498 __get_user_pages+0x1a0/0x42c __get_user_pages_remote+0xa4/0x28c get_user_pages_remote+0x20/0x48 copy_strings+0x188/0x2ac do_execveat_common+0x278/0x300 __arm64_sys_execve+0x44/0x5c el0_svc_common+0xa4/0x180 do_el0_svc+0x28/0x88 el0_svc+0x14/0x24 el0_sync_handler+0x88/0xec el0_sync+0x19c/0x1c0 Page pinned ts 2 us count 0 PFN 10436170 Block 10191 type CMA Flags 0x8000000000080026(referenced|uptodate|active|swapbacked) try_grab_page+0x168/0x17c follow_page_pte+0x2e4/0x4c8 follow_pmd_mask+0x180/0x498 __get_user_pages+0x1a0/0x42c __get_user_pages_remote+0xa4/0x28c get_user_pages_remote+0x20/0x48 copy_strings+0x188/0x2ac do_execveat_common+0x290/0x300 __arm64_sys_execve+0x44/0x5c el0_svc_common+0xa4/0x180 do_el0_svc+0x28/0x88 el0_svc+0x14/0x24 el0_sync_handler+0x88/0xec el0_sync+0x19c/0x1c0 Bug: 226956571 Test: adb bugreport and confirmed it contains page_pinner information. Signed-off-by: Minchan Kim Change-Id: Iaf5cd9b70116ed5fff9351dcdcc5485aef18063f --- dumpstate/DumpstateDevice.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dumpstate/DumpstateDevice.cpp b/dumpstate/DumpstateDevice.cpp index 5cce1b37..1429bb5d 100644 --- a/dumpstate/DumpstateDevice.cpp +++ b/dumpstate/DumpstateDevice.cpp @@ -832,6 +832,8 @@ void DumpstateDevice::dumpMemorySection(int fd) { "fi; " "done"}); DumpFileToFd(fd, "dmabuf info", "/d/dma_buf/bufinfo"); + DumpFileToFd(fd, "Page Pinner - longterm pin", "/sys/kernel/debug/page_pinner/longterm_pinner"); + DumpFileToFd(fd, "Page Pinner - alloc_contig_failed", "/sys/kernel/debug/page_pinner/alloc_contig_failed"); } static void DumpF2FS(int fd) {