06.08.2013 Views

Threads in the new ISO C Standard from 2011

Threads in the new ISO C Standard from 2011

Threads in the new ISO C Standard from 2011

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

lwsync Memory Barrier for Release Operation<br />

The A and B sets consist of all memory access <strong>in</strong>structions preced<strong>in</strong>g<br />

and follow<strong>in</strong>g <strong>the</strong> lwsync, respectively.<br />

Only <strong>the</strong> follow<strong>in</strong>g pairs of ai, bj <strong>in</strong>structions are ordered:<br />

A-side load → B-side load<br />

A-side load → B-side store<br />

A-side store → B-side store<br />

Thus, A-side store → B-side load are not ordered.<br />

The dcbz data cache block zero is counted as a store.<br />

It’s used e.g. to implement a release:<br />

stwx r1,r2,r3 # modify shared data...<br />

stwx r4,r5,r6<br />

...<br />

stwx r29,r30,r31 # last write <strong>in</strong> critical section<br />

lwsync<br />

stwx r8,r9,r10 # set lock to free<br />

Jonas Skeppstedt (js@cs.lth.se) Lecture 6 2013 51 / 70

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!