1 |
adcroft |
1.2 |
C $Header: /u/gcmpack/models/MITgcmUV/eesupp/src/memsync.F,v 1.1 1998/09/29 18:53:45 cnh Exp $ |
2 |
|
|
|
3 |
|
|
#include "CPP_EEOPTIONS.h" |
4 |
cnh |
1.1 |
|
5 |
|
|
SUBROUTINE MEMSYNC |
6 |
|
|
|
7 |
|
|
C /==========================================================\ |
8 |
|
|
C | SUBROUTINE MEMSYNC | |
9 |
|
|
C | o Place holder for memory sync routine | |
10 |
|
|
C |==========================================================| |
11 |
|
|
C | This routine is called wherever the code requires | |
12 |
|
|
C | that writes performed by one thread or process must | |
13 |
|
|
C | be guaranteed visible to other processes and or threads. | |
14 |
|
|
C | On SPARC this routine would implement a | |
15 |
|
|
C | asm("membar #LoadStore|#StoreStore"); | |
16 |
|
|
C | On ALPHA | |
17 |
|
|
C | asm("mb"); | |
18 |
|
|
C | Note: I have yet to show this is necessary although | |
19 |
|
|
C | the Memory Channel writes must need something like| |
20 |
|
|
C | this. | |
21 |
|
|
C \==========================================================/ |
22 |
|
|
|
23 |
|
|
END |