Merged.
Maxim.
On 10/04/16 16:35, Christophe Milard wrote:
Ping.
This has been reviewed and agreed at ARCH call. Any reason not to merge?
Christophe
On 20 September 2016 at 04:34, Bill Fischofer <bill.fischo...@linaro.org> wrote:
On Mon, Sep 19, 2016 at 10:56 AM, Christophe Milard
<christophe.mil...@linaro.org> wrote:
Rather than using INSTANCE_ID (constant 0xdeadbeef), the ODP main
instantiation process ID is used as instance ID in the linux-generic
implementation. This is a simple way to guarantee instance uniqueness
on linux systems.
Signed-off-by: Christophe Milard <christophe.mil...@linaro.org>
Reviewed-and-tested-by: Bill Fischofer <bill.fischo...@linaro.org>
---
platform/linux-generic/include/odp_internal.h | 1 -
platform/linux-generic/odp_init.c | 7 +++----
platform/linux-generic/odp_traffic_mngr.c | 3 ++-
3 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/platform/linux-generic/include/odp_internal.h
b/platform/linux-generic/include/odp_internal.h
index 8bad450..3429781 100644
--- a/platform/linux-generic/include/odp_internal.h
+++ b/platform/linux-generic/include/odp_internal.h
@@ -25,7 +25,6 @@ extern "C" {
extern __thread int __odp_errno;
-#define INSTANCE_ID 0xdeadbeef
#define MAX_CPU_NUMBER 128
typedef struct {
diff --git a/platform/linux-generic/odp_init.c
b/platform/linux-generic/odp_init.c
index f534759..77f4f8a 100644
--- a/platform/linux-generic/odp_init.c
+++ b/platform/linux-generic/odp_init.c
@@ -116,8 +116,7 @@ int odp_init_global(odp_instance_t *instance,
goto init_failed;
}
- /* Dummy support for single instance */
- *instance = INSTANCE_ID;
+ *instance = (odp_instance_t)odp_global_data.main_pid;
return 0;
@@ -128,7 +127,7 @@ init_failed:
int odp_term_global(odp_instance_t instance)
{
- if (instance != INSTANCE_ID) {
+ if (instance != (odp_instance_t)odp_global_data.main_pid) {
ODP_ERR("Bad instance.\n");
return -1;
}
@@ -250,7 +249,7 @@ int odp_init_local(odp_instance_t instance,
odp_thread_type_t thr_type)
{
enum init_stage stage = NO_INIT;
- if (instance != INSTANCE_ID) {
+ if (instance != (odp_instance_t)odp_global_data.main_pid) {
ODP_ERR("Bad instance.\n");
goto init_fail;
}
diff --git a/platform/linux-generic/odp_traffic_mngr.c
b/platform/linux-generic/odp_traffic_mngr.c
index 4fe07ef..85228cd 100644
--- a/platform/linux-generic/odp_traffic_mngr.c
+++ b/platform/linux-generic/odp_traffic_mngr.c
@@ -2317,7 +2317,8 @@ static void *tm_system_thread(void *arg)
uint32_t destroying, work_queue_cnt, timer_cnt;
int rc;
- rc = odp_init_local(INSTANCE_ID, ODP_THREAD_WORKER);
+ rc = odp_init_local((odp_instance_t)odp_global_data.main_pid,
+ ODP_THREAD_WORKER);
ODP_ASSERT(rc == 0);
tm_group = arg;
--
2.7.4