----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://reviews.gem5.org/r/2183/#review4986 -----------------------------------------------------------
src/cpu/o3/lsq_unit_impl.hh <http://reviews.gem5.org/r/2183/#comment4591> Do you think checking force_squash in this second if() condition will work same as checking needsTSO? If yes, then I would suggest that we check force_squash here. - Nilay Vaish On March 5, 2014, 5:05 p.m., Marco Elver wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > http://reviews.gem5.org/r/2183/ > ----------------------------------------------------------- > > (Updated March 5, 2014, 5:05 p.m.) > > > Review request for Default. > > > Repository: gem5 > > > Description > ------- > > Changeset 10101:19483fc4f611 > --------------------------- > o3cpu: lsq: Fix TSO implementation > > This patch fixes violation of TSO in the O3CPU, as all loads must be > ordered with all other loads. In the LQ, if a snoop is observed, all > subsequent loads need to be squashed if the system is TSO. > > Prior to this patch, the following case could be violated: > > P0 | P1 ; > MOV [x],$1 | MOV EAX,[y] ; > MOV [y],$1 | MOV EBX,[x] ; > > exists (1:EAX=1 /\ 1:EBX=0) [is a violation] > > The problem was found using litmus [http://diy.inria.fr]. > > > Diffs > ----- > > src/cpu/o3/lsq_unit_impl.hh 24cfe67c0749 > > Diff: http://reviews.gem5.org/r/2183/diff/ > > > Testing > ------- > > This patch was originally against a much older version of Gem5 > (9677:773aae0990ae), where the effect was tested extensively and diy no > longer reports violation. This patch was then ported and rebased against the > newest Gem5 version, where I only ran quick/se/00.hello/x86/linux/o3-timing. > Performance results of parallel workloads will change slightly. > > > Thanks, > > Marco Elver > > _______________________________________________ gem5-dev mailing list gem5-dev@gem5.org http://m5sim.org/mailman/listinfo/gem5-dev