-
Notifications
You must be signed in to change notification settings - Fork 396
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Sampling allocation bytes precisely without compromising the performance
in order to sampling heap allocation bytes precisely without compromising the performance, we have the below changes. Handle instrumentableAllocateHook and VM_OBJECT_ALLOCATE_WITHIN_THRESHOLD is still via disabling inline allocation Handle smapling for tracepoint is still during out of line allocation Handle smapling for JEP331 is via setTLHSamplingTop(size) Using fake Heap Top instead of fake Heap Alloc for disabling inline allocation (realHeapAlloc-->realHeapTop, set/getRealAlloc()-->set/getRealTop(), getRealSize(), getUsedSize()) Using fake Heap Top to force out of line allocation at sampling thresold for sampling heap allocation (setTLHSamplingTop()/resetTLHSamplingTop()) setTLHSamplingTop(size) are only called in the below 3 cases 1, sampling threshold has been changed via GC-VM api j9gc_set_allocation_sampling_interval() 2, TLH is refreshed 3, after sampling is done Counting trace allocation byte includes allocation bytes inside TLH Cache before flushing(_stats.bytesAllocated(true), stats->_tlhAllocatedUsed, ) Handle traceAllocationByte for Health Center(_oolTraceAllocationBytesForTracepoint, oolObjectSamplingBytesGranularityForTracepoint) and traceAllocationByte for JEP331(_traceAllocationBytesForHook, objectSamplingBytesGranularityForHook) independently Signed-off-by: Lin Hu <linhu@ca.ibm.com>
- Loading branch information
Showing
9 changed files
with
129 additions
and
51 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.