[mpich2-commits] r3995 - in mpich2/trunk/src/pm/hydra: include launcher/mpiexec pm/central utils/env utils/launch

balaji at mcs.anl.gov balaji at mcs.anl.gov
Tue Mar 10 00:26:18 CDT 2009


Author: balaji
Date: 2009-03-10 00:26:18 -0500 (Tue, 10 Mar 2009)
New Revision: 3995

Modified:
   mpich2/trunk/src/pm/hydra/include/hydra.h
   mpich2/trunk/src/pm/hydra/include/hydra_env.h
   mpich2/trunk/src/pm/hydra/launcher/mpiexec/utils.c
   mpich2/trunk/src/pm/hydra/pm/central/central_launch.c
   mpich2/trunk/src/pm/hydra/pm/central/proxy.c
   mpich2/trunk/src/pm/hydra/utils/env/env.c
   mpich2/trunk/src/pm/hydra/utils/launch/args.c
Log:
Some cleanup to the environment handling scripts, but more things need to
be changed. We no longer have auto-incrementing and static variables. The
program logic takes care of assigning the right values for the variables.


Modified: mpich2/trunk/src/pm/hydra/include/hydra.h
===================================================================
--- mpich2/trunk/src/pm/hydra/include/hydra.h	2009-03-10 04:36:20 UTC (rev 3994)
+++ mpich2/trunk/src/pm/hydra/include/hydra.h	2009-03-10 05:26:18 UTC (rev 3995)
@@ -67,18 +67,9 @@
 #define HYD_TMPBUF_SIZE (64 * 1024)
 #define HYD_EXEC_ARGS 200
 
-typedef enum {
-    HYD_ENV_STATIC,
-    HYD_ENV_AUTOINC
-} HYD_Env_type_t;
-
 typedef struct HYD_Env {
     char *env_name;
     char *env_value;
-
-    /* Auto-incrementing environment variables can only be integers */
-    HYD_Env_type_t env_type;
-    int start_val;
     struct HYD_Env *next;
 } HYD_Env_t;
 

Modified: mpich2/trunk/src/pm/hydra/include/hydra_env.h
===================================================================
--- mpich2/trunk/src/pm/hydra/include/hydra_env.h	2009-03-10 04:36:20 UTC (rev 3994)
+++ mpich2/trunk/src/pm/hydra/include/hydra_env.h	2009-03-10 05:26:18 UTC (rev 3995)
@@ -10,15 +10,13 @@
 #include "hydra.h"
 
 HYD_Status HYDU_Env_global_list(HYD_Env_t ** env_list);
-char *HYDU_Env_type_str(HYD_Env_type_t type);
 HYD_Env_t *HYDU_Env_dup(HYD_Env_t env);
-HYD_Env_t *HYDU_Env_found_in_list(HYD_Env_t * env_list, HYD_Env_t env);
-HYD_Status HYDU_Env_add_to_list(HYD_Env_t ** env_list, HYD_Env_t env);
 HYD_Env_t *HYDU_Env_listdup(HYD_Env_t * env);
-HYD_Status HYDU_Env_create(HYD_Env_t ** env, char *env_name,
-                           char *env_value, HYD_Env_type_t env_type, int start);
+HYD_Status HYDU_Env_create(HYD_Env_t ** env, char *env_name, char *env_value);
 HYD_Status HYDU_Env_free(HYD_Env_t * env);
 HYD_Status HYDU_Env_free_list(HYD_Env_t * env);
+HYD_Env_t *HYDU_Env_found_in_list(HYD_Env_t * env_list, HYD_Env_t env);
+HYD_Status HYDU_Env_add_to_list(HYD_Env_t ** env_list, HYD_Env_t env);
 HYD_Status HYDU_Env_putenv(HYD_Env_t env);
 
 #endif /* HYDRA_ENV_H_INCLUDED */

Modified: mpich2/trunk/src/pm/hydra/launcher/mpiexec/utils.c
===================================================================
--- mpich2/trunk/src/pm/hydra/launcher/mpiexec/utils.c	2009-03-10 04:36:20 UTC (rev 3994)
+++ mpich2/trunk/src/pm/hydra/launcher/mpiexec/utils.c	2009-03-10 05:26:18 UTC (rev 3995)
@@ -199,7 +199,7 @@
                     if (env_name == NULL)
                         break;
 
-                    status = HYDU_Env_create(&env, env_name, NULL, HYD_ENV_STATIC, 0);
+                    status = HYDU_Env_create(&env, env_name, NULL);
                     if (status != HYD_SUCCESS) {
                         HYDU_Error_printf("unable to create env struct\n");
                         goto fn_fail;
@@ -249,7 +249,7 @@
                     if (env_name == NULL)
                         break;
 
-                    status = HYDU_Env_create(&env, env_name, NULL, HYD_ENV_STATIC, 0);
+                    status = HYDU_Env_create(&env, env_name, NULL);
                     if (status != HYD_SUCCESS) {
                         HYDU_Error_printf("unable to create env struct\n");
                         goto fn_fail;
@@ -276,7 +276,7 @@
             CHECK_NEXT_ARG_VALID(status);
             env_value = MPIU_Strdup(*argv);
 
-            status = HYDU_Env_create(&env, env_name, env_value, HYD_ENV_STATIC, 0);
+            status = HYDU_Env_create(&env, env_name, env_value);
             if (status != HYD_SUCCESS) {
                 HYDU_Error_printf("unable to create env struct\n");
                 goto fn_fail;
@@ -441,20 +441,17 @@
     HYDU_Print("\n");
     HYDU_Print("  Global environment:\n");
     for (env = handle.global_env; env; env = env->next)
-        HYDU_Print("    %s=%s (type: %s)\n", env->env_name, env->env_value,
-                   HYDU_Env_type_str(env->env_type));
+        HYDU_Print("    %s=%s\n", env->env_name, env->env_value);
 
     HYDU_Print("\n");
     HYDU_Print("  Hydra internal environment:\n");
     for (env = handle.system_env; env; env = env->next)
-        HYDU_Print("    %s=%s (type: %s)\n", env->env_name, env->env_value,
-                   HYDU_Env_type_str(env->env_type));
+        HYDU_Print("    %s=%s\n", env->env_name, env->env_value);
 
     HYDU_Print("\n");
     HYDU_Print("  User set environment:\n");
     for (env = handle.user_env; env; env = env->next)
-        HYDU_Print("    %s=%s (type: %s)\n", env->env_name, env->env_value,
-                   HYDU_Env_type_str(env->env_type));
+        HYDU_Print("    %s=%s\n", env->env_name, env->env_value);
 
     HYDU_Print("\n");
 

Modified: mpich2/trunk/src/pm/hydra/pm/central/central_launch.c
===================================================================
--- mpich2/trunk/src/pm/hydra/pm/central/central_launch.c	2009-03-10 04:36:20 UTC (rev 3994)
+++ mpich2/trunk/src/pm/hydra/pm/central/central_launch.c	2009-03-10 05:26:18 UTC (rev 3995)
@@ -86,7 +86,7 @@
                   "%s:%s", hostname, sport);
     HYDU_FREE(sport);
 
-    status = HYDU_Env_create(&env, "PMI_PORT", port_str, HYD_ENV_STATIC, 0);
+    status = HYDU_Env_create(&env, "PMI_PORT", port_str);
     if (status != HYD_SUCCESS) {
         HYDU_Error_printf("unable to create env\n");
         goto fn_fail;
@@ -99,7 +99,7 @@
     HYDU_Env_free(env);
     HYDU_FREE(port_str);
 
-    status = HYDU_Env_create(&env, "PMI_ID", NULL, HYD_ENV_AUTOINC, 0);
+    status = HYDU_Env_create(&env, "PMI_ID", NULL);
     if (status != HYD_SUCCESS) {
         HYDU_Error_printf("unable to create env\n");
         goto fn_fail;

Modified: mpich2/trunk/src/pm/hydra/pm/central/proxy.c
===================================================================
--- mpich2/trunk/src/pm/hydra/pm/central/proxy.c	2009-03-10 04:36:20 UTC (rev 3994)
+++ mpich2/trunk/src/pm/hydra/pm/central/proxy.c	2009-03-10 05:26:18 UTC (rev 3995)
@@ -71,8 +71,6 @@
         pmi.env_name = MPIU_Strdup("PMI_ID");
         HYDU_Int_to_str(HYD_Proxy_params.pmi_id + i, str, status);
         pmi.env_value = MPIU_Strdup(str);
-        pmi.env_type = HYD_ENV_STATIC;
-        pmi.start_val = 0;
         pmi.next = NULL;
 
         /* Update the PMI_ID value with this one */

Modified: mpich2/trunk/src/pm/hydra/utils/env/env.c
===================================================================
--- mpich2/trunk/src/pm/hydra/utils/env/env.c	2009-03-10 04:36:20 UTC (rev 3994)
+++ mpich2/trunk/src/pm/hydra/utils/env/env.c	2009-03-10 05:26:18 UTC (rev 3995)
@@ -27,7 +27,6 @@
         env_value = strtok(NULL, "=");
         env->env_name = MPIU_Strdup(env_name);
         env->env_value = env_value ? MPIU_Strdup(env_value) : NULL;
-        env->env_type = HYD_ENV_STATIC;
         HYDU_FREE(env_str);
 
         status = HYDU_Env_add_to_list(env_list, *env);
@@ -49,21 +48,6 @@
 }
 
 
-char *HYDU_Env_type_str(HYD_Env_type_t type)
-{
-    char *str;
-
-    if (type == HYD_ENV_STATIC)
-        str = MPIU_Strdup("STATIC");
-    else if (type == HYD_ENV_AUTOINC)
-        str = MPIU_Strdup("AUTOINC");
-    else
-        str = NULL;
-
-    return str;
-}
-
-
 HYD_Env_t *HYDU_Env_dup(HYD_Env_t env)
 {
     HYD_Env_t *tenv;
@@ -91,91 +75,6 @@
 }
 
 
-HYD_Env_t *HYDU_Env_found_in_list(HYD_Env_t * env_list, HYD_Env_t env)
-{
-    HYD_Env_t *run;
-
-    HYDU_FUNC_ENTER();
-
-    run = env_list;
-    while (run->next) {
-        if (!strcmp(run->env_name, env.env_name))
-            goto fn_exit;
-        run = run->next;
-    }
-    run = NULL;
-
-    goto fn_exit;
-
-  fn_exit:
-    HYDU_FUNC_EXIT();
-    return run;
-}
-
-
-HYD_Status HYDU_Env_add_to_list(HYD_Env_t ** env_list, HYD_Env_t env)
-{
-    HYD_Env_t *run, *tenv;
-    HYD_Status status = HYD_SUCCESS;
-
-    HYDU_FUNC_ENTER();
-
-    tenv = HYDU_Env_dup(env);
-    if (tenv == NULL) {
-        HYDU_Error_printf("unable to dup environment\n");
-        status = HYD_INTERNAL_ERROR;
-        goto fn_fail;
-    }
-
-    tenv->next = NULL;
-
-    /* Add the structure to the end of the list */
-    if (*env_list == NULL) {
-        *env_list = tenv;
-    }
-    else {
-        run = *env_list;
-
-        while (1) {
-            if (!strcmp(run->env_name, env.env_name)) {
-                /* If we found an entry for this environment variable, just update it */
-                if (run->env_value != NULL && tenv->env_value != NULL) {
-                    HYDU_FREE(run->env_value);
-                    run->env_value = MPIU_Strdup(tenv->env_value);
-                }
-                else if (run->env_value != NULL) {
-                    HYDU_FREE(run->env_value);
-                    run->env_value = NULL;
-                }
-                else if (env.env_value != NULL) {
-                    run->env_value = MPIU_Strdup(tenv->env_value);
-                }
-                run->env_type = tenv->env_type;
-
-                HYDU_FREE(tenv->env_name);
-                if (tenv->env_value)
-                    HYDU_FREE(tenv->env_value);
-                HYDU_FREE(tenv);
-
-                break;
-            }
-            else if (run->next == NULL) {
-                run->next = tenv;
-                break;
-            }
-            run = run->next;
-        }
-    }
-
-  fn_exit:
-    HYDU_FUNC_EXIT();
-    return status;
-
-  fn_fail:
-    goto fn_exit;
-}
-
-
 HYD_Env_t *HYDU_Env_listdup(HYD_Env_t * env)
 {
     HYD_Env_t *tenv, *run;
@@ -204,8 +103,7 @@
 }
 
 
-HYD_Status HYDU_Env_create(HYD_Env_t ** env, char *env_name,
-                           char *env_value, HYD_Env_type_t env_type, int start)
+HYD_Status HYDU_Env_create(HYD_Env_t ** env, char *env_name, char *env_value)
 {
     HYD_Status status = HYD_SUCCESS;
 
@@ -214,8 +112,7 @@
     HYDU_MALLOC(*env, HYD_Env_t *, sizeof(HYD_Env_t), status);
     (*env)->env_name = MPIU_Strdup(env_name);
     (*env)->env_value = env_value ? MPIU_Strdup(env_value) : NULL;
-    (*env)->env_type = env_type;
-    (*env)->start_val = start;
+    (*env)->next = NULL;
 
   fn_exit:
     HYDU_FUNC_EXIT();
@@ -262,6 +159,88 @@
 }
 
 
+HYD_Env_t *HYDU_Env_found_in_list(HYD_Env_t * env_list, HYD_Env_t env)
+{
+    HYD_Env_t *run;
+
+    HYDU_FUNC_ENTER();
+
+    run = env_list;
+    while (run->next) {
+        if (!strcmp(run->env_name, env.env_name))
+            goto fn_exit;
+        run = run->next;
+    }
+    run = NULL;
+
+  fn_exit:
+    HYDU_FUNC_EXIT();
+    return run;
+}
+
+
+HYD_Status HYDU_Env_add_to_list(HYD_Env_t ** env_list, HYD_Env_t env)
+{
+    HYD_Env_t *run, *tenv;
+    HYD_Status status = HYD_SUCCESS;
+
+    HYDU_FUNC_ENTER();
+
+    tenv = HYDU_Env_dup(env);
+    if (tenv == NULL) {
+        HYDU_Error_printf("unable to dup environment\n");
+        status = HYD_INTERNAL_ERROR;
+        goto fn_fail;
+    }
+
+    tenv->next = NULL;
+
+    /* Add the structure to the end of the list */
+    if (*env_list == NULL) {
+        *env_list = tenv;
+    }
+    else {
+        run = *env_list;
+
+        while (1) {
+            if (!strcmp(run->env_name, env.env_name)) {
+                /* If we found an entry for this environment variable, just update it */
+                if (run->env_value != NULL && tenv->env_value != NULL) {
+                    HYDU_FREE(run->env_value);
+                    run->env_value = MPIU_Strdup(tenv->env_value);
+                }
+                else if (run->env_value != NULL) {
+                    HYDU_FREE(run->env_value);
+                    run->env_value = NULL;
+                }
+                else if (env.env_value != NULL) {
+                    run->env_value = MPIU_Strdup(tenv->env_value);
+                }
+
+                HYDU_FREE(tenv->env_name);
+                if (tenv->env_value)
+                    HYDU_FREE(tenv->env_value);
+                HYDU_FREE(tenv);
+
+                break;
+            }
+            else if (run->next == NULL) {
+                run->next = tenv;
+                break;
+            }
+            run = run->next;
+        }
+    }
+
+  fn_exit:
+    HYDU_FUNC_EXIT();
+    return status;
+
+  fn_fail:
+    goto fn_exit;
+}
+
+
 HYD_Status HYDU_Env_putenv(HYD_Env_t env)
 {
     int i;

Modified: mpich2/trunk/src/pm/hydra/utils/launch/args.c
===================================================================
--- mpich2/trunk/src/pm/hydra/utils/launch/args.c	2009-03-10 04:36:20 UTC (rev 3994)
+++ mpich2/trunk/src/pm/hydra/utils/launch/args.c	2009-03-10 05:26:18 UTC (rev 3995)
@@ -24,15 +24,7 @@
 
         tmp[j++] = MPIU_Strdup(env->env_name);
         tmp[j++] = MPIU_Strdup("=");
-
-        if (env->env_type == HYD_ENV_STATIC)
-            tmp[j++] = MPIU_Strdup(env->env_value);
-        else if (env->env_type == HYD_ENV_AUTOINC) {
-            HYDU_Int_to_str(env->start_val + id, inc, status);
-            tmp[j++] = MPIU_Strdup(inc);
-            HYDU_FREE(inc);
-        }
-
+        tmp[j++] = env->env_value ? MPIU_Strdup(env->env_value) : MPIU_Strdup("");
         tmp[j++] = NULL;
         HYDU_STR_ALLOC_AND_JOIN(tmp, envstr, status);
         client_arg[i++] = MPIU_Strdup(envstr);



More information about the mpich2-commits mailing list