mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-22 12:04:39 +02:00
6992998: CMSWaitDuration=0 causes hangs with +ExplicitGCInvokesConcurrent
Closed a timing hole during which concurrent full gc requests can be missed. The hole can increase the latency of the response to a full gc request by up to the value of CMSWaitDuration. If CMSWaitDuration=0 is, as currently, interpreted as an unbounded wait, suitable in certain tuning scenarios, the application can potentially hang. Made two obscure tunables, including CMSWaitDuration, manageable. Reviewed-by: jcoomes, tonyp
This commit is contained in:
parent
0c660e1f60
commit
554e77efb4
3 changed files with 16 additions and 9 deletions
|
@ -1585,7 +1585,7 @@ class CommandLineFlags {
|
|||
"(Temporary, subject to experimentation)" \
|
||||
"Nominal minimum work per abortable preclean iteration") \
|
||||
\
|
||||
product(intx, CMSAbortablePrecleanWaitMillis, 100, \
|
||||
manageable(intx, CMSAbortablePrecleanWaitMillis, 100, \
|
||||
"(Temporary, subject to experimentation)" \
|
||||
" Time that we sleep between iterations when not given" \
|
||||
" enough work per iteration") \
|
||||
|
@ -1677,7 +1677,7 @@ class CommandLineFlags {
|
|||
product(uintx, CMSWorkQueueDrainThreshold, 10, \
|
||||
"Don't drain below this size per parallel worker/thief") \
|
||||
\
|
||||
product(intx, CMSWaitDuration, 2000, \
|
||||
manageable(intx, CMSWaitDuration, 2000, \
|
||||
"Time in milliseconds that CMS thread waits for young GC") \
|
||||
\
|
||||
product(bool, CMSYield, true, \
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue