RFR: 8290025: Remove the Sweeper
Boris Ulasevich
bulasevich at openjdk.org
Thu Aug 4 15:39:03 UTC 2022
On Thu, 4 Aug 2022 12:51:38 GMT, Erik Österlund <eosterlund at openjdk.org> wrote:
> I would be interested in seeing what the graph looks like with my current proposed change. I don't know what state my prototype was in when you performed measurements, and the heuristics have been tweaked.
Below is a CodeCache chart (numbers from -Xlog:codecache this time) on the current proposed change. App gets 250MB of CodeCache, and executes 23 independent benchmarks.

> Was there a regression due to unloading perceivably cold code?
No, specific of my run is a set of independent benchmarks: warmup, iteration, warmup, iteration - it does not get regression unless the CodeHeap is completely over. Sweeper itself does not affect performance, I checked it. My concern is about user applications.
> Having said that, if half the code cache was filled up, it sounds like it's getting to a point where you do want to flush things that haven't been used in a long while, to avoid getting into the "red zone" of aggressive sweeping at 90%, in order to free up space for currently hot code. To me it looks like it is working kind of as expected.
In my picture, we can see that the methods are swept out when the CodeCache is 70% free. For me it is not expected. Even a super-cold method can come back. We should not flush it when we are far from memory starvation.
-------------
PR: https://git.openjdk.org/jdk/pull/9741
More information about the hotspot-dev
mailing list