On 03/01/2024 10:09, William Kucharski wrote: > > >> On Jan 3, 2024, at 02:35, Ryan Roberts <ryan.roberts@xxxxxxx> wrote: >> >> On 03/01/2024 09:16, Barry Song wrote: >>> On Wed, Jan 3, 2024 at 9:25 PM Ryan Roberts <ryan.roberts@xxxxxxx> wrote: >>>> >>>> On 03/01/2024 08:07, William Kucharski wrote: >>>>> >>>>>> On Jan 2, 2024, at 23:44, Barry Song <21cnbao@xxxxxxxxx> 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. >>> >>> I don't understand why we have to add the pid before each line as this tool >>> already has pid in the parameter :-) >> >> The reason is that it is also possible to invoke the tool with --cgroup instead >> of --pid. In this case, the tool will iterate over all the pids in the cgroup so >> (when --summary is not specified) having the pid associated with each vma is useful. >> >> I could change it to conditionally output the pid only when --cgroup is specified? > > You could, or perhaps emit a colon after the pid to delineate it, e.g.: > >> 000000ce: 0000aaaadbb20000-0000aaaadbb21000 r-xp 00000000 fe:0000426969 /root/a.out Yeah that sounds like the least worst option. Let's go with that. > > but then some people would probably read it as a memory address, so who knows. > > -- William Kucharski > >> >>> this seems like duplicated information >>> to me. but it doesn't matter too much as this tool is really nice though it is >>> not so easy to deploy on Android. >> >> Hmm. I've seen tutorials where people have Python running under Android, but I >> agree its not zero effort. Perhaps it would be better in C. Unfortuantely, I >> can't commit to doing a port at this point. >> >>> >>> Please feel free to add, >>> >>> Tested-by: Barry Song <v-songbaohua@xxxxxxxx> >> >> Thanks! >> >>> >>>> >>>>> >>>>> 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] >>>>> >>> >>> Thanks >>> Barry >> >> >