This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "".
The branch, api-next has been updated via d96a8207591fbcaac25b79286d7d72a537354c1f (commit) via 21ed0fc8045e32e3263f5782401dbfe860152965 (commit) from 87d47c93d93ed934af9502937d2aceaec59d229a (commit)
Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below.
- Log ----------------------------------------------------------------- commit d96a8207591fbcaac25b79286d7d72a537354c1f Author: Petri Savolainen petri.savolainen@linaro.org Date: Mon Dec 11 14:45:17 2017 +0200
validation: shm: add name tests
Test shm blocks with NULL and maximum length names.
Signed-off-by: Petri Savolainen petri.savolainen@linaro.org Balasubramanian Manoharan bala.manoharan@linaro.org Signed-off-by: Maxim Uvarov maxim.uvarov@linaro.org
diff --git a/test/validation/api/shmem/shmem.c b/test/validation/api/shmem/shmem.c index d1abc62b..30eb08da 100644 --- a/test/validation/api/shmem/shmem.c +++ b/test/validation/api/shmem/shmem.c @@ -136,24 +136,59 @@ void shmem_test_basic(void) odp_shm_t shm2; shared_test_data_t *shared_test_data; odp_cpumask_t unused; + int i; + char max_name[ODP_SHM_NAME_LEN]; + + for (i = 0; i < ODP_SHM_NAME_LEN; i++) + max_name[i] = 'A' + (i % 26); + + max_name[ODP_QUEUE_NAME_LEN - 1] = 0; + + /* NULL name */ + shm = odp_shm_reserve(NULL, + sizeof(shared_test_data_t), ALIGN_SIZE, 0); + CU_ASSERT(ODP_SHM_INVALID != shm); + shared_test_data = odp_shm_addr(shm); + CU_ASSERT_FATAL(NULL != shared_test_data); + shared_test_data->foo = 0; + CU_ASSERT(0 == odp_shm_free(shm)); + + /* Maximum length name */ + shm = odp_shm_reserve(max_name, + sizeof(shared_test_data_t), ALIGN_SIZE, 0); + CU_ASSERT(ODP_SHM_INVALID != shm); + shm2 = odp_shm_lookup(max_name); + CU_ASSERT(ODP_SHM_INVALID != shm2); + CU_ASSERT(odp_shm_addr(shm) == odp_shm_addr(shm2)); + shared_test_data = odp_shm_addr(shm); + CU_ASSERT_FATAL(NULL != shared_test_data); + shared_test_data->foo = 0; + CU_ASSERT(0 == odp_shm_free(shm));
+ /* Non-unique name */ shm = odp_shm_reserve(MEM_NAME, sizeof(shared_test_data_t), ALIGN_SIZE, 0); CU_ASSERT(ODP_SHM_INVALID != shm); CU_ASSERT(odp_shm_to_u64(shm) != odp_shm_to_u64(ODP_SHM_INVALID)); - - /* also check that another reserve with same name is accepted: */ shm2 = odp_shm_reserve(MEM_NAME, sizeof(shared_test_data_t), ALIGN_SIZE, 0); CU_ASSERT(ODP_SHM_INVALID != shm2); CU_ASSERT(odp_shm_to_u64(shm2) != odp_shm_to_u64(ODP_SHM_INVALID));
+ CU_ASSERT(odp_shm_addr(shm) != odp_shm_addr(shm2)); + shared_test_data = odp_shm_addr(shm); + CU_ASSERT_FATAL(NULL != shared_test_data); + shared_test_data->foo = 0; + shared_test_data = odp_shm_addr(shm2); + CU_ASSERT_FATAL(NULL != shared_test_data); + shared_test_data->foo = 0; CU_ASSERT(0 == odp_shm_free(shm)); CU_ASSERT(0 == odp_shm_free(shm2)); CU_ASSERT(ODP_SHM_INVALID == odp_shm_lookup(MEM_NAME));
+ /* Share with multiple threads */ shm = odp_shm_reserve(MEM_NAME, sizeof(shared_test_data_t), ALIGN_SIZE, 0); CU_ASSERT(ODP_SHM_INVALID != shm);
commit 21ed0fc8045e32e3263f5782401dbfe860152965 Author: Petri Savolainen petri.savolainen@linaro.org Date: Mon Dec 11 14:22:16 2017 +0200
api: shm: name is optional
Align shared memory name parameter specification with other APIs. Name is optional and does not need to be unique, except when it's used for lookups.
Signed-off-by: Petri Savolainen petri.savolainen@linaro.org Balasubramanian Manoharan bala.manoharan@linaro.org Signed-off-by: Maxim Uvarov maxim.uvarov@linaro.org
diff --git a/include/odp/api/spec/shared_memory.h b/include/odp/api/spec/shared_memory.h index 60a0cdde..38c82a10 100644 --- a/include/odp/api/spec/shared_memory.h +++ b/include/odp/api/spec/shared_memory.h @@ -127,7 +127,14 @@ int odp_shm_capability(odp_shm_capability_t *capa); /** * Reserve a contiguous block of shared memory * - * @param name Name of the block (maximum ODP_SHM_NAME_LEN - 1 chars) + * Reserve a contiguous block of shared memory that fulfills size, alignment + * and shareability (ODP_SHM_* flags) requirements. In general, a name is + * optional and does not need to be unique. However, if the block will be + * searched with odp_shm_lookup() or odp_shm_import(), a unique name is needed + * for correct match. + * + * @param name Name of the block or NULL. Maximum string length is + * ODP_SHM_NAME_LEN. * @param size Block size in bytes * @param align Block alignment in bytes * @param flags Shared memory parameter flags (ODP_SHM_*). Default value is 0.
-----------------------------------------------------------------------
Summary of changes: include/odp/api/spec/shared_memory.h | 9 ++++++++- test/validation/api/shmem/shmem.c | 39 ++++++++++++++++++++++++++++++++++-- 2 files changed, 45 insertions(+), 3 deletions(-)
hooks/post-receive