Project

General

Profile

Bug #1624

missing fences in CkLoop implementation

Added by Jim Phillips 3 months ago. Updated 3 months 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 3 months 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 3 months 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 3 months ago

  • Assignee set to Seonmyeong Bak

Also available in: Atom PDF