RFR: Empty task queues when cancelled partial GC
rkennke at redhat.com
Mon Mar 20 17:15:51 UTC 2017
Am 20.03.2017 um 17:31 schrieb Aleksey Shipilev:
> On 03/20/2017 05:27 PM, Roman Kennke wrote:
>> When partial GC gets cancelled, we need to empty the task queues.
> Right! We also need to visit the terminator on that path...
I leave that to another patch. ;-)
>> I also added a small check to verify this, even for release build
>> (shuold we make this debug-only?)
> Yes, wrap it up in ASSERT, and s/guarantee/assert/g
I found out that set_empty() is not enough. We also need to clear the
buffer and the overflow queue. However, TQS->clear() does that for us. I
changed the patch to call clear() after all workers are done, and also
put an assert before and after partial GC.
More information about the shenandoah-dev