Changes between Initial Version and Version 1 of Ticket #3838


Ignore:
Timestamp:
Jan 25, 2010 1:09:10 PM (4 years ago)
Author:
simonmar
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #3838 – Description

    initial v1  
    2121 * We can't attach blocked threads to the blackhole directly, due to the race conditions this would cause with parallel execution (we replaced the blackhole blocking queues with the global blackhole queue in 6.6 when implementing parallel execution). 
    2222 
    23  * maintaining a hash-table mapping blackholes to blocked threads would improve wakeup times, but wouldn't help here, because we'd then have a large hash table to update on each GC.  I have an unpushed patch to do just this sitting around; it didn't improve performance when I tried it, and is rather more complicated than the current design. 
     23 * maintaining a hash-table mapping blackholes to blocked threads would improve wakeup times, but wouldn't help here, because we'd then have a large hash table to update on each GC.  I have an unpushed patch to do just this sitting around (attached); it didn't improve performance when I tried it, and is rather more complicated than the current design. 
    2424 
    2525 * we could divide the blackhole queue into per-generation queues as we've done with several other data structures.  This would help GC to scale, but doesn't address the root problems.