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 <[email protected]> wrote: > > > On Mon, Sep 19, 2016 at 10:56 AM, Christophe Milard > <[email protected]> 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 <[email protected]> > > > Reviewed-and-tested-by: Bill Fischofer <[email protected]> > >> >> --- >> 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 >> >
