Note STM's vulnerability to non-allocating loops

Authored by bgamari on Nov 24 2015, 10:17 AM.

Diff Detail

rGHC Glasgow Haskell Compiler
Automatic diff as part of commit; lint not applicable.
Automatic diff as part of commit; unit tests not applicable.
bgamari updated this revision to Diff 5304.Nov 24 2015, 10:17 AM
bgamari retitled this revision from to Note STM's vulnerability to non-allocating loops.
bgamari updated this object.
bgamari edited the test plan for this revision. (Show Details)
bgamari added a reviewer: fryguybob.
bgamari updated the Trac tickets for this revision.
bgamari added a subscriber: fryguybob.
austin accepted this revision.Nov 25 2015, 12:25 PM
austin edited edge metadata.


This revision is now accepted and ready to land.Nov 25 2015, 12:25 PM
fryguybob requested changes to this revision.Nov 25 2015, 12:42 PM
fryguybob edited edge metadata.

The wording isn't quite right.


The issue is that a transaction may enter an infinite loop after it observes inconsistent state. Subsequent GC attempt will deadlock waiting on that thread. This doesn't have anything to do with retry. Perhaps the wording should be "...which may deadlock after observing inconsistent state."

This revision now requires changes to proceed.Nov 25 2015, 12:42 PM
bgamari added inline comments.Nov 25 2015, 5:25 PM

Thanks for the clarification!

This revision was automatically updated to reflect the committed changes.