1
1

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
Этот коммит содержится в:
Igor Ivanov 2016-04-13 22:03:44 +03:00
родитель a52b0797fc
Коммит c02d0b7161
6 изменённых файлов: 20 добавлений и 20 удалений

Просмотреть файл

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2014 Mellanox Technologies, Inc. * Copyright (c) 2014-2016 Mellanox Technologies, Inc.
* All rights reserved. * All rights reserved.
* Copyright (c) 2014 Intel, Inc. All rights reserved * Copyright (c) 2014 Intel, Inc. All rights reserved
* Copyright (c) 2016 Research Organization for Information Science * Copyright (c) 2016 Research Organization for Information Science
@ -246,9 +246,9 @@ OSHMEM_DECLSPEC void pshmem_longlong_inc(long long *target, int pe);
/* /*
* Lock functions * Lock functions
*/ */
OSHMEM_DECLSPEC void pshmem_set_lock(long *lock); OSHMEM_DECLSPEC void pshmem_set_lock(volatile long *lock);
OSHMEM_DECLSPEC void pshmem_clear_lock(long *lock); OSHMEM_DECLSPEC void pshmem_clear_lock(volatile long *lock);
OSHMEM_DECLSPEC int pshmem_test_lock(long *lock); OSHMEM_DECLSPEC int pshmem_test_lock(volatile long *lock);
/* /*
* P2P sync routines * P2P sync routines

Просмотреть файл

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2014-2015 Mellanox Technologies, Inc. * Copyright (c) 2014-2016 Mellanox Technologies, Inc.
* All rights reserved. * All rights reserved.
* Copyright (c) 2014 Intel, Inc. All rights reserved * Copyright (c) 2014 Intel, Inc. All rights reserved
* $COPYRIGHT$ * $COPYRIGHT$
@ -309,9 +309,9 @@ OSHMEM_DECLSPEC void shmem_longlong_inc(long long *target, int pe);
/* /*
* Lock functions * Lock functions
*/ */
OSHMEM_DECLSPEC void shmem_set_lock(long *lock); OSHMEM_DECLSPEC void shmem_set_lock(volatile long *lock);
OSHMEM_DECLSPEC void shmem_clear_lock(long *lock); OSHMEM_DECLSPEC void shmem_clear_lock(volatile long *lock);
OSHMEM_DECLSPEC int shmem_test_lock(long *lock); OSHMEM_DECLSPEC int shmem_test_lock(volatile long *lock);
/* /*
* P2P sync routines * P2P sync routines

Просмотреть файл

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2013 Mellanox Technologies, Inc. * Copyright (c) 2013-2016 Mellanox Technologies, Inc.
* All rights reserved. * All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
@ -25,7 +25,7 @@
#include "oshmem/shmem/c/profile/defines.h" #include "oshmem/shmem/c/profile/defines.h"
#endif #endif
void shmem_clear_lock(long *lock) void shmem_clear_lock(volatile long *lock)
{ {
_shmem_clear_lock(lock, sizeof(long)); _shmem_clear_lock((void *)lock, sizeof(long));
} }

Просмотреть файл

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2013 Mellanox Technologies, Inc. * Copyright (c) 2013-2016 Mellanox Technologies, Inc.
* All rights reserved. * All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
@ -25,7 +25,7 @@
#include "oshmem/shmem/c/profile/defines.h" #include "oshmem/shmem/c/profile/defines.h"
#endif #endif
void shmem_set_lock(long *lock) void shmem_set_lock(volatile long *lock)
{ {
_shmem_set_lock(lock, sizeof(long)); _shmem_set_lock((void *)lock, sizeof(long));
} }

Просмотреть файл

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2013 Mellanox Technologies, Inc. * Copyright (c) 2013-2016 Mellanox Technologies, Inc.
* All rights reserved. * All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
@ -26,7 +26,7 @@
#include "oshmem/shmem/c/profile/defines.h" #include "oshmem/shmem/c/profile/defines.h"
#endif #endif
int shmem_test_lock(long *lock) int shmem_test_lock(volatile long *lock)
{ {
return _shmem_test_lock(lock, sizeof(long)); return _shmem_test_lock((void *)lock, sizeof(long));
} }

Просмотреть файл

@ -24,11 +24,11 @@ C or C++:
.Vb .Vb
#include <mpp/shmem.h> #include <mpp/shmem.h>
void shmem_clear_lock(long *lock); void shmem_clear_lock(volatile long *lock);
void shmem_set_lock(long *lock); void shmem_set_lock(volatile long *lock);
int shmem_test_lock(long *lock); int shmem_test_lock(volatile long *lock);
.Ve .Ve
Fortran: Fortran:
.Vb .Vb