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


Reply via email to