RFR: JDK-8132849: Increased stop time in cleanup phase because of single-threaded walk of thread stacks in NMethodSweeper::mark_active_nmethods()
rkennke at redhat.com
Mon Sep 24 09:36:09 UTC 2018
> Is there a use of doing nmethod marking more frequently than what is
> forced in do_stack_scanning() ?
As far as I can tell, it is sufficient to mark nmethods right before
sweeping. It might even be counter-productive to do more marking passes:
it would result in more non-entrant nmethods marked as 'seen on stack'
even if they are no longer on stack.
I am not 100% sure about the hotness counter though. From what I see,
it's only used for sweeper too, and it really looks like resetting the
counter on nmethod-walk is enough. But I'd like confirmation from
somebody who knows better than I do. If it's really good enough, we may
remove the nmethod stuff completely from SP cleanup, and also remove the
hotness-counter-closure, and always piggy-back the stuff on nmethod
walking, either in its own VM_Op, or in its handshake.
On the other hand, why is hotness counting and nmethod marking split out
in sp-cleanup in the first place then?
More information about the hotspot-runtime-dev