Skip to content
This repository was archived by the owner on Sep 30, 2022. It is now read-only.

Commit d567071

Browse files
committed
v2.x: oshmem: Align OSHMEM API with spec v1.3 (shmem_lock change signature)
Annex G: Version 1.3 Added volatile to remotely accessible pointer argument in SHMEM_LOCK See Sections 8.9.1
1 parent 89c1eae commit d567071

File tree

6 files changed

+20
-20
lines changed

6 files changed

+20
-20
lines changed

oshmem/include/pshmem.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2014 Mellanox Technologies, Inc.
2+
* Copyright (c) 2014-2016 Mellanox Technologies, Inc.
33
* All rights reserved.
44
* Copyright (c) 2014 Intel, Inc. All rights reserved
55
* $COPYRIGHT$
@@ -208,9 +208,9 @@ OSHMEM_DECLSPEC void pshmem_longlong_inc(long long *target, int pe);
208208
/*
209209
* Lock functions
210210
*/
211-
OSHMEM_DECLSPEC void pshmem_set_lock(long *lock);
212-
OSHMEM_DECLSPEC void pshmem_clear_lock(long *lock);
213-
OSHMEM_DECLSPEC int pshmem_test_lock(long *lock);
211+
OSHMEM_DECLSPEC void pshmem_set_lock(volatile long *lock);
212+
OSHMEM_DECLSPEC void pshmem_clear_lock(volatile long *lock);
213+
OSHMEM_DECLSPEC int pshmem_test_lock(volatile long *lock);
214214

215215
/*
216216
* P2P sync routines

oshmem/include/shmem.h.in

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2014-2015 Mellanox Technologies, Inc.
2+
* Copyright (c) 2014-2016 Mellanox Technologies, Inc.
33
* All rights reserved.
44
* Copyright (c) 2014 Intel, Inc. All rights reserved
55
* $COPYRIGHT$
@@ -271,9 +271,9 @@ OSHMEM_DECLSPEC void shmem_longlong_inc(long long *target, int pe);
271271
/*
272272
* Lock functions
273273
*/
274-
OSHMEM_DECLSPEC void shmem_set_lock(long *lock);
275-
OSHMEM_DECLSPEC void shmem_clear_lock(long *lock);
276-
OSHMEM_DECLSPEC int shmem_test_lock(long *lock);
274+
OSHMEM_DECLSPEC void shmem_set_lock(volatile long *lock);
275+
OSHMEM_DECLSPEC void shmem_clear_lock(volatile long *lock);
276+
OSHMEM_DECLSPEC int shmem_test_lock(volatile long *lock);
277277

278278
/*
279279
* P2P sync routines

oshmem/shmem/c/shmem_clear_lock.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2013 Mellanox Technologies, Inc.
2+
* Copyright (c) 2013-2016 Mellanox Technologies, Inc.
33
* All rights reserved.
44
* $COPYRIGHT$
55
*
@@ -25,7 +25,7 @@
2525
#include "oshmem/shmem/c/profile/defines.h"
2626
#endif
2727

28-
void shmem_clear_lock(long *lock)
28+
void shmem_clear_lock(volatile long *lock)
2929
{
30-
_shmem_clear_lock(lock, sizeof(long));
30+
_shmem_clear_lock((void *)lock, sizeof(long));
3131
}

oshmem/shmem/c/shmem_set_lock.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2013 Mellanox Technologies, Inc.
2+
* Copyright (c) 2013-2016 Mellanox Technologies, Inc.
33
* All rights reserved.
44
* $COPYRIGHT$
55
*
@@ -25,7 +25,7 @@
2525
#include "oshmem/shmem/c/profile/defines.h"
2626
#endif
2727

28-
void shmem_set_lock(long *lock)
28+
void shmem_set_lock(volatile long *lock)
2929
{
30-
_shmem_set_lock(lock, sizeof(long));
30+
_shmem_set_lock((void *)lock, sizeof(long));
3131
}

oshmem/shmem/c/shmem_test_lock.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2013 Mellanox Technologies, Inc.
2+
* Copyright (c) 2013-2016 Mellanox Technologies, Inc.
33
* All rights reserved.
44
* $COPYRIGHT$
55
*
@@ -26,7 +26,7 @@
2626
#include "oshmem/shmem/c/profile/defines.h"
2727
#endif
2828

29-
int shmem_test_lock(long *lock)
29+
int shmem_test_lock(volatile long *lock)
3030
{
31-
return _shmem_test_lock(lock, sizeof(long));
31+
return _shmem_test_lock((void *)lock, sizeof(long));
3232
}

oshmem/shmem/man/man3/shmem_set_lock.3in

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,11 @@ C or C++:
2424
.Vb
2525
#include <mpp/shmem.h>
2626

27-
void shmem_clear_lock(long *lock);
27+
void shmem_clear_lock(volatile long *lock);
2828

29-
void shmem_set_lock(long *lock);
29+
void shmem_set_lock(volatile long *lock);
3030

31-
int shmem_test_lock(long *lock);
31+
int shmem_test_lock(volatile long *lock);
3232
.Ve
3333
Fortran:
3434
.Vb

0 commit comments

Comments
 (0)