labath added a comment.

Thanks for the review.

In D78489#1998060 <https://reviews.llvm.org/D78489#1998060>, @clayborg wrote:

> In D78489#1996834 <https://reviews.llvm.org/D78489#1996834>, @labath wrote:
>
> > I've done a similar benchmark to the last one, but measured memory usage 
> > ("RssAnon" as reported by linux). One notable difference is that I
> >
> > Currently (information retrieved from DW_AT_ranges) we use about ~330 MB of 
> > memory. If I switch to dwarf dies as the source, the memory goes all the 
> > way to 2890 MB. This number is suspiciously large -- it either means that 
> > our die freeing is not working properly, or that glibc is very bad at 
> > releasing memory back to the OS. Given the magnitude of the increase, i 
> > think it's a little bit of both. With line tables as the source the memory 
> > usage is 706 MB. It's an increase from 330, but definitely smaller than 2.8 
> > GB. (the number 330 is kind of misleading here since we're not considering 
> > removing that option -- it will always be used if it is available).
>
>
> Since we mmap in the entire DWARF, I am not surprised by taking up new memory 
> because we touch those pages and won't get those back. If you remove the DIE 
> freeing code, I will bet you see much more memory used. We definitely free 
> the memory for the DIEs and give that back, so I would be willing to bet the 
> increase you are seeing is from mmap loading pages in that we touch.


I don't think it's as simple as that. "RssAnon" should not include file-backed 
memory (which why I chose to measure it). According to `man proc`:

  * RssAnon: Size of resident anonymous memory.  (since Linux 4.5).
  * RssFile: Size of resident file mappings.  (since Linux 4.5).

I also don't think it's as simple as not freeing the DIE memory at all. There 
has to be some more complex interaction going on. If I had more time, I would 
be very interested in learning what it is, but for now I'll contend myself with 
"it's not a problem of this patch".


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D78489/new/

https://reviews.llvm.org/D78489



_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to