Project

General

Profile

Bug #1624

missing fences in CkLoop implementation

Added by Jim Phillips 22 days ago. Updated 14 days ago.

Status:
New
Priority:
High
Category:
Machine Layers
Target version:
Start date:
07/03/2017
Due date:
% Done:

0%


Description

Reported by Sameer Kumar, CkLoop reportFinished() needs a write fence to guarantee that results are visible to the thread that made a sync call to CkLoop (i.e., is waiting for results). Also missing read fence in isFree(). waitLoopDone seems OK because of the locks.

History

#1 Updated by Phil Miller 22 days ago

  • Target version changed from 6.8.0 to 6.9.0

The group discussed this in core at some point. The code is apparently fine on x86 with its strict memory ordering semantics. Post 6.8, we'll switch to using native C++11 atomics to portably address these issues in full.

#2 Updated by Jim Phillips 20 days ago

Are CmiMemoryReadFence and CmiMemoryWriteFence somehow not portable and sufficient? Otherwise 6.8.0 CkLoop is broken on both Power and ARM.

#3 Updated by Eric Bohm 14 days ago

  • Assignee set to Seonmyeong Bak

Also available in: Atom PDF