Messages in this thread | | | Date | Mon, 29 Jun 2015 10:23:29 -0300 | From | Arnaldo Carvalho de Melo <> | Subject | Re: [RFC] perf tools: Add hugetlbfs memory recognition |
| |
Em Sat, Jun 27, 2015 at 05:08:20PM +0800, Hou Pengyang escreveu: > There is something about MAP_HUGETLB.
> In this patch, we check if a mmap area is hugetlbfs area by MAP_HUGETLB, > a bit in MMAP2 event.
> However, if mmap area is hugetlb related, MAP_HUGETLB does not always > appear. Because, there are two ways generating MMAP2 event.
> 1) when a new vm_area_struct is created, its info would be exported > as a MMAP2 event. > 2) perf reads /proc/pid/maps for generating MMAP2 event.
> MAP_HUGETLB appears if MMAP2 event is generated on situation 1), > while not on situation 2).
> This is because on situation 2), perf reads /proc/pid/maps, which > contains only PROT_READ/WRITE/EXEC, MAP_SHARED/MAP_PRIVATE, while more > details appear in /proc/pid/smaps, such as MAP_HUGETLB.
Humm:
[root@zoo ~]# wc -l /proc/`pidof firefox`/maps 934 /proc/4551/maps [root@zoo ~]# wc -l /proc/`pidof firefox`/smaps 14944 /proc/4551/smaps [root@zoo ~]#
> So I wonder if there is a need to read /proc/pid/smaps instead of > /proc/pid/maps to generate MMAP2 event. Or we should solve the problem by > another way?
Doing some research now...
- Arnaldo
| |