ANDROID: 16K: Add VMA padding size to smaps output
Instead of printing ?? for unexpected vm_flags due to vm padding flag bits; print the size of the padding in kB if any. Example output: 7ff6306c2000-7ff6306c3000 r--p 00000000 fe:09 1912 /system/lib64/bootstrap/libdl.so Size: 4 kB KernelPageSize: 4 kB MMUPageSize: 4 kB Rss: 4 kB Pss: 0 kB Pss_Dirty: 0 kB Shared_Clean: 4 kB Shared_Dirty: 0 kB Private_Clean: 0 kB Private_Dirty: 0 kB Referenced: 4 kB Anonymous: 0 kB KSM: 0 kB LazyFree: 0 kB AnonHugePages: 0 kB ShmemPmdMapped: 0 kB FilePmdMapped: 0 kB Shared_Hugetlb: 0 kB Private_Hugetlb: 0 kB Swap: 0 kB SwapPss: 0 kB Locked: 0 kB THPeligible: 0 VmFlags: rd mr mw me pad=12kB // <======== 7ff6306c3000-7ff6306c6000 ---p 00000000 00:00 0 [page size compat] Size: 12 kB // <======== KernelPageSize: 4 kB MMUPageSize: 4 kB Rss: 0 kB Pss: 0 kB Pss_Dirty: 0 kB Shared_Clean: 0 kB Shared_Dirty: 0 kB Private_Clean: 0 kB Private_Dirty: 0 kB Referenced: 0 kB Anonymous: 0 kB KSM: 0 kB LazyFree: 0 kB AnonHugePages: 0 kB ShmemPmdMapped: 0 kB FilePmdMapped: 0 kB Shared_Hugetlb: 0 kB Private_Hugetlb: 0 kB Swap: 0 kB SwapPss: 0 kB Locked: 0 kB THPeligible: 0 VmFlags: mr mw me Bug: 383389169 Bug: 409239984 Bug: 404710273 Bug: 394468578 Change-Id: I4e996f207c9eb980d1a108418c506542722e7265 Signed-off-by: Kalesh Singh <kaleshsingh@google.com>
This commit is contained in:
committed by
Carlos Llamas
parent
307be4b887
commit
9027c8ec43
@@ -1007,15 +1007,21 @@ static void show_smap_vma_flags(struct seq_file *m, struct vm_area_struct *vma)
|
||||
[ilog2(VM_SEALED)] = "sl",
|
||||
#endif
|
||||
};
|
||||
unsigned long pad_pages = vma_pad_pages(vma);
|
||||
size_t i;
|
||||
|
||||
seq_puts(m, "VmFlags: ");
|
||||
for (i = 0; i < BITS_PER_LONG; i++) {
|
||||
if (!mnemonics[i][0])
|
||||
continue;
|
||||
if ((1UL << i) & VM_PAD_MASK)
|
||||
continue;
|
||||
if (vma->vm_flags & (1UL << i))
|
||||
seq_printf(m, "%s ", mnemonics[i]);
|
||||
}
|
||||
if (pad_pages)
|
||||
seq_printf(m, "pad=%lukB", pad_pages << (PAGE_SHIFT - 10));
|
||||
|
||||
seq_putc(m, '\n');
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user