[PATCH] D82031: [scudo][standalone] Release smaller blocks less often

Christopher Ferris via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 24 15:13:40 PDT 2020


cferris added a comment.

The change in primary32.h is what is causing the std_map and std_unordered_map RSS and speed changes. My theory is that the new change in releaseToOSMaybe cuts off most calls before any release occurs. So when there is finally a call that will actually do a release, there is a lot of memory to release. This release is taking extra time, so the total runtime increase, and the RSS goes way down. I think this is a good thing, and is a strong benefit of this change.

For the 32 bit memory replay runs, the run time is highly variable because the device I use seems extremely susceptible to throttling. I can't get the same numbers from run to run if I don't change anything, and I see huge swings in the numbers. Theoretically, since I run everything the same way, each run should have the same amount of throttling so the numbers would be similar, but I think these differences are not real. It's possible a similar mechanism is occurring as for the std_map tests, there are fewer calls that do a release, but each release is longer. I think variability is the more logical reason for the change.

I'm going to find a different device for the memory replay tests, but the more important number is that the RSS is the same.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D82031





More information about the llvm-commits mailing list