Review Board 2.0.15


cpu: Fix LLSC atomic CPU wakeup

Review Request #3316 - Created Feb. 9, 2016 and submitted

Information
Curtis Dunham
gem5
default
Reviewers
Default

cpu: Fix LLSC atomic CPU wakeup

Writes to locked memory addresses (LLSC) did not wake up the locking
CPU. This can lead to deadlocks on multi-core runs. In AtomicSimpleCPU,
recvAtomicSnoop was checking if the incoming packet was an invalidation
(isInvalidate) and only then handled a locked snoop. But, writes are
seen instead of invalidates when running without caches (fast-forward
configurations). As as simple fix, now handleLockedSnoop is also called
even if the incoming snoop packet are from writes.

Tests, Ran regression on all ISAs, observed acceptable change in 1:
opt/quick/fs/10.linux-boot/arm/linux/realview-simple-timing-dual


   
Review request changed
Updated (Feb. 29, 2016, 5:15 p.m.)

Status: Closed (submitted)