Mercurial > hg > truffle
comparison src/share/vm/runtime/globals.hpp @ 1887:cd3ef3fd20dd
6992998: CMSWaitDuration=0 causes hangs with +ExplicitGCInvokesConcurrent
Summary: 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
author | ysr |
---|---|
date | Thu, 21 Oct 2010 17:29:24 -0700 |
parents | 0715f0cf171d |
children | a7214d79fcf1 |
comparison
equal
deleted
inserted
replaced
1886:72a161e62cc4 | 1887:cd3ef3fd20dd |
---|---|
1583 \ | 1583 \ |
1584 product(uintx, CMSAbortablePrecleanMinWorkPerIteration, 100, \ | 1584 product(uintx, CMSAbortablePrecleanMinWorkPerIteration, 100, \ |
1585 "(Temporary, subject to experimentation)" \ | 1585 "(Temporary, subject to experimentation)" \ |
1586 "Nominal minimum work per abortable preclean iteration") \ | 1586 "Nominal minimum work per abortable preclean iteration") \ |
1587 \ | 1587 \ |
1588 product(intx, CMSAbortablePrecleanWaitMillis, 100, \ | 1588 manageable(intx, CMSAbortablePrecleanWaitMillis, 100, \ |
1589 "(Temporary, subject to experimentation)" \ | 1589 "(Temporary, subject to experimentation)" \ |
1590 " Time that we sleep between iterations when not given" \ | 1590 " Time that we sleep between iterations when not given" \ |
1591 " enough work per iteration") \ | 1591 " enough work per iteration") \ |
1592 \ | 1592 \ |
1593 product(uintx, CMSRescanMultiple, 32, \ | 1593 product(uintx, CMSRescanMultiple, 32, \ |
1675 "Trace some actions of the CMS sweeper") \ | 1675 "Trace some actions of the CMS sweeper") \ |
1676 \ | 1676 \ |
1677 product(uintx, CMSWorkQueueDrainThreshold, 10, \ | 1677 product(uintx, CMSWorkQueueDrainThreshold, 10, \ |
1678 "Don't drain below this size per parallel worker/thief") \ | 1678 "Don't drain below this size per parallel worker/thief") \ |
1679 \ | 1679 \ |
1680 product(intx, CMSWaitDuration, 2000, \ | 1680 manageable(intx, CMSWaitDuration, 2000, \ |
1681 "Time in milliseconds that CMS thread waits for young GC") \ | 1681 "Time in milliseconds that CMS thread waits for young GC") \ |
1682 \ | 1682 \ |
1683 product(bool, CMSYield, true, \ | 1683 product(bool, CMSYield, true, \ |
1684 "Yield between steps of concurrent mark & sweep") \ | 1684 "Yield between steps of concurrent mark & sweep") \ |
1685 \ | 1685 \ |