Adar Dembo has posted comments on this change. Change subject: KUDU-1931: fix SIGSEGV in file cache RandomAccessFile::memory_footprint() ......................................................................
Patch Set 1: (1 comment) http://gerrit.cloudera.org:8080/#/c/6359/1/src/kudu/util/file_cache.cc File src/kudu/util/file_cache.cc: PS1, Line 350: // Some anecdotal memory measurements taken inside gdb: : // - glibc 2.23 malloc_usable_size() on make_shared<FileType>: 88 bytes. : // - tcmalloc malloc_usable_size() on make_shared<FileType>: 96 bytes. : // - sizeof(std::shared_ptr::_Sp_counted_base): 16 bytes. : // - sizeof(*this): 72 bytes. > could you just add sizeof(shared_ptr<Descriptor<RandomAccessFile>>) ? Anecd But sizeof(shared_ptr<Descriptor<RandomAccessFile>>) isn't really correct. Yes, the shared_ptr is 16 bytes, but that's 8 bytes of "pointer to control block" and 8 bytes of "pointer to object". What we want is the size of the control block itself, which is 8 bytes of weak ref count and 8 bytes of strong ref count. I guess what I'm saying is, if you want me to add 16 to the total, I can do that, but it's arguably more correct than adding sizeof() of an unrelated object (the shared_ptr itself). -- To view, visit http://gerrit.cloudera.org:8080/6359 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I9e57c06dd35252d03729c10ff64fe43d79288513 Gerrit-PatchSet: 1 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Adar Dembo <[email protected]> Gerrit-Reviewer: Adar Dembo <[email protected]> Gerrit-Reviewer: Dan Burkert <[email protected]> Gerrit-Reviewer: David Ribeiro Alves <[email protected]> Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon <[email protected]> Gerrit-HasComments: Yes
