model: schedule appropriate fence backtracking points
authorBrian Norris <banorris@uci.edu>
Wed, 20 Feb 2013 02:28:41 +0000 (18:28 -0800)
committerBrian Norris <banorris@uci.edu>
Thu, 21 Feb 2013 02:48:24 +0000 (18:48 -0800)
This patch calculates the most recent backtracking point which may be a
fence. We require a separate function for computing this because a fence
"conflict" is much different than other conflicts; fences do not have a
memory location, but instead, they trigger release/acquire backtracking
in the presence of other stores/loads.

Left out of this patch:
(1) Sleep-set waking: even if we backtrack, we don't yet wake up our
    thread properly, yielding a "redundant" trace instead of a
    productive one
(2) memory_order_seq_cst: I have yet to determine how (if at all) we
    need to add additional backtracking in the presence of seq_cst
    fences
(3) documentation: need to describe get_last_fence_conflict() better


No differences found