Closed naveen-rn closed 4 years ago
@nspark and @BryantLam - this change is in sync with other sync
routines description
If I get approval from @BryantLam - we can merge this one.
@naveen-rn I am reverting these changes from openshmem-org:master. Please re-open a PR to incorporate them into the relevant section committee branch. This is needed so that we can they can be tracked and processed according to our procedures. It will be a revert commit, you can cherry-pick the commits again from master.
A comment on the technical bits of this change -- maybe I am missing something since I'm only looking at part of the test, but IIUC signaling operations should have atomic semantics, otherwise signal add doesn't work. Please consider defining these operations as atomic with respect to signal updates and wait/test according to the atomicity semantics in front matter.
@jdinan My mistake - I didn't notice the merge branch. WIll fix.
Regarding the technical bit - we have the following statement in the put-with-signal intro:
All signaling operations on the signal data object completes as if performed
atomically with respect to the following:
\begin{itemize}
\item other blocking or nonblocking variant of the put-with-signal routine
that updates the signal data object using the same signal update operator;
\item signal-fetch routine that fetches the signal data object; and
\item any point-to-point synchronization routine that accesses the signal
data object.
\end{itemize}
Is it sufficient?
Thanks - I think it's fine. It matches what we also have in the wait/test APIs. Please ignore my earlier comment.
@jdinan are these changes reverted from openshmem-org:master?
Yes, reverted by #367
We were addressing the partial update completions in the apinotes for the shmem_wait_until_signal op. To be consistent with other sync operations - moving to the description section.
Addresses issue #357