Re: [RFC PATCH v1] tools/mm: Add thpmaps script to dump THP usage info

Ryan Roberts
2024-01-03T08:25:16Z

On 03/01/2024 08:07, William Kucharski wrote:
>
>> On Jan 2, 2024, at 23:44, Barry Song <21cnbao@gmail.com> wrote:
>>
>> Hi Ryan,
>>
>> I ran a couple of test cases with different parameters, it seems to
>> work correctly.
>> just i don't understand the below, what is the meaning of 000000ce at
>> the beginning of
>> each line?
>
> It's the pid; 0xce is the specified pid, 206.

Yes indeed. I added the pid to the front for the case where you are using
--cgroup without --summary; in that case, each vma will be printed for each pid
in the cgroup and it seemed sensible to be able to see which pid each vma
belonged to.

>
> Perhaps the pid should be printed in decimal?

I thought about printing in decimal, but every other value in the vma is in hex
without a leading "0x" (I'm trying to follow the smaps convention). So I thought
it could be more confusing in decimal.

I'm happy to change it to decimal if that's the preference though? Although I'd
like to continue to present it in a fixed width field, padded with 0s on the
left so that everything lines up.

>
> -- William Kucharski
>
>> /thpmaps --pid 206 --cont 64K
>> 000000ce 0000aaaadbb20000-0000aaaadbb21000 r-xp 00000000 fe:00
>> 00426969 /root/a.out
>> 000000ce 0000aaaadbb3f000-0000aaaadbb40000 r--p 0000f000 fe:00
>> 00426969 /root/a.out
>> 000000ce 0000aaaadbb40000-0000aaaadbb41000 rw-p 00010000 fe:00
>> 00426969 /root/a.out
>> 000000ce 0000ffff702c0000-0000ffffb02c0000 rw-p 00000000 00:00 00000000
>> anon-thp-aligned-64kB: 473920 kB (100%)
>> anon-cont-aligned-64kB: 473920 kB (100%)
>> 000000ce 0000ffffb02c0000-0000ffffb044c000 r-xp 00000000 fe:00
>> 00395429 /usr/lib/aarch64-linux-gnu/libc.so.6
>> 000000ce 0000ffffb044c000-0000ffffb045d000 ---p 0018c000 fe:00
>> 00395429 /usr/lib/aarch64-linux-gnu/libc.so.6
>> 000000ce 0000ffffb045d000-0000ffffb0460000 r--p 0018d000 fe:00
>> 00395429 /usr/lib/aarch64-linux-gnu/libc.so.6
>> 000000ce 0000ffffb0460000-0000ffffb0462000 rw-p 00190000 fe:00
>> 00395429 /usr/lib/aarch64-linux-gnu/libc.so.6
>> 000000ce 0000ffffb0462000-0000ffffb046f000 rw-p 00000000 00:00 00000000
>> 000000ce 0000ffffb0477000-0000ffffb049d000 r-xp 00000000 fe:00
>> 00393893 /usr/lib/aarch64-linux-gnu/ld-linux-aarch64.so.1
>> 000000ce 0000ffffb04b0000-0000ffffb04b2000 rw-p 00000000 00:00 00000000
>> 000000ce 0000ffffb04b2000-0000ffffb04b4000 r--p 00000000 00:00 00000000 [vvar]
>> 000000ce 0000ffffb04b4000-0000ffffb04b5000 r-xp 00000000 00:00 00000000 [vdso]
>> 000000ce 0000ffffb04b5000-0000ffffb04b7000 r--p 0002e000 fe:00
>> 00393893 /usr/lib/aarch64-linux-gnu/ld-linux-aarch64.so.1
>> 000000ce 0000ffffb04b7000-0000ffffb04b9000 rw-p 00030000 fe:00
>> 00393893 /usr/lib/aarch64-linux-gnu/ld-linux-aarch64.so.1
>> 000000ce 0000ffffdaba4000-0000ffffdabc5000 rw-p 00000000 00:00 00000000 [stack]
>