Skip to content
Snippets Groups Projects
Commit d2cd76c9 authored by Danny Auble's avatar Danny Auble
Browse files

ALPS - Fix issue with CLE >5.2.0 and <5.2.46 where the depth of MEMARRAY

in BASIL was changed.
parent 87737895
No related branches found
No related tags found
No related merge requests found
...@@ -28,6 +28,8 @@ documents those changes that are of interest to users and admins. ...@@ -28,6 +28,8 @@ documents those changes that are of interest to users and admins.
-- Double max string that Slurm can pack from 16MB to 32MB to support -- Double max string that Slurm can pack from 16MB to 32MB to support
larger MPI2 configurations. larger MPI2 configurations.
-- Fix Centos5 compile issues. -- Fix Centos5 compile issues.
-- ALPS - Fix issue with CLE >5.2.0 and <5.2.46 where the depth of MEMARRAY
in BASIL was changed.
* Changes in Slurm 14.03.10 * Changes in Slurm 14.03.10
=========================== ===========================
......
...@@ -60,6 +60,7 @@ enum basil_version { ...@@ -60,6 +60,7 @@ enum basil_version {
BV_5_0, /* Basil 1.2 CLE 5.x unconfirmed simulator version */ BV_5_0, /* Basil 1.2 CLE 5.x unconfirmed simulator version */
BV_5_1, /* Basil 1.3 CLE 5.x unconfirmed simulator version */ BV_5_1, /* Basil 1.3 CLE 5.x unconfirmed simulator version */
BV_5_2, /* Basil 1.3 CLE 5.2 */ BV_5_2, /* Basil 1.3 CLE 5.2 */
BV_5_2_46, /* Basil 1.3 CLE 5.2.46+ */
BV_MAX BV_MAX
}; };
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
* Licensed under the GPLv2. * Licensed under the GPLv2.
*/ */
#include "../basil_alps.h" #include "../basil_alps.h"
#include "parser_internal.h"
/** /**
* _get_alps_engine - run QUERY of type ENGINE * _get_alps_engine - run QUERY of type ENGINE
...@@ -80,10 +81,15 @@ extern enum basil_version get_basil_version(void) ...@@ -80,10 +81,15 @@ extern enum basil_version get_basil_version(void)
if (_get_alps_engine(engine_version, sizeof(engine_version)) == NULL) if (_get_alps_engine(engine_version, sizeof(engine_version)) == NULL)
fatal("can not determine ALPS Engine version"); fatal("can not determine ALPS Engine version");
else if ((strncmp(engine_version, "latest", 6) == 0) || else if (strncmp(engine_version, "latest", 6) == 0) {
(strncmp(engine_version, "5.2", 3) == 0)) bv = BV_5_2_46;
bv = BV_5_2; } else if (strncmp(engine_version, "5.2", 3) == 0) {
else if (strncmp(engine_version, "5.1", 3) == 0) int macro = atoi(engine_version+4);
if (macro >= 46)
bv = BV_5_2_46;
else
bv = BV_5_2;
} else if (strncmp(engine_version, "5.1", 3) == 0)
bv = BV_5_1; bv = BV_5_1;
else if (strncmp(engine_version, "5.0", 3) == 0) else if (strncmp(engine_version, "5.0", 3) == 0)
bv = BV_5_0; bv = BV_5_0;
...@@ -112,6 +118,13 @@ extern enum basil_version get_basil_version(void) ...@@ -112,6 +118,13 @@ extern enum basil_version get_basil_version(void)
"src/plugins/select/cray/libalps/do_query.c " "src/plugins/select/cray/libalps/do_query.c "
"for this version", "for this version",
engine_version); engine_version);
if (bv == BV_5_2_46) {
basil_5_2_elements[BT_MEMARRAY].depth = 9;
basil_5_2_elements[BT_MEMORY].depth = 10;
basil_5_2_elements[BT_MEMALLOC].depth = 8;
}
return bv; return bv;
} }
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
*/ */
#include "parser_internal.h" #include "parser_internal.h"
const struct element_handler basil_5_2_elements[] = { struct element_handler basil_5_2_elements[] = {
[BT_MESSAGE] = { [BT_MESSAGE] = {
.tag = "Message", .tag = "Message",
.depth = 0xff, /* unused, can appear at any depth */ .depth = 0xff, /* unused, can appear at any depth */
...@@ -135,19 +135,19 @@ const struct element_handler basil_5_2_elements[] = { ...@@ -135,19 +135,19 @@ const struct element_handler basil_5_2_elements[] = {
}, },
[BT_MEMARRAY] = { [BT_MEMARRAY] = {
.tag = "MemoryArray", .tag = "MemoryArray",
.depth = 9, .depth = 5,
.uniq = true, .uniq = true,
.hnd = NULL .hnd = NULL
}, },
[BT_MEMORY] = { [BT_MEMORY] = {
.tag = "Memory", .tag = "Memory",
.depth = 10, .depth = 6,
.uniq = false, .uniq = false,
.hnd = eh_mem .hnd = eh_mem
}, },
[BT_MEMALLOC] = { [BT_MEMALLOC] = {
.tag = "MemoryAllocation", .tag = "MemoryAllocation",
.depth = 8, .depth = 7,
.uniq = false, .uniq = false,
.hnd = eh_mem_alloc .hnd = eh_mem_alloc
}, },
......
...@@ -515,7 +515,8 @@ static const struct element_handler *basil_tables[BV_MAX] = { ...@@ -515,7 +515,8 @@ static const struct element_handler *basil_tables[BV_MAX] = {
[BV_4_1] = basil_4_0_elements, [BV_4_1] = basil_4_0_elements,
[BV_5_0] = basil_4_0_elements, [BV_5_0] = basil_4_0_elements,
[BV_5_1] = basil_5_1_elements, [BV_5_1] = basil_5_1_elements,
[BV_5_2] = basil_5_2_elements [BV_5_2] = basil_5_2_elements,
[BV_5_2_46] = basil_5_2_elements
}; };
/** /**
......
...@@ -59,7 +59,7 @@ extern const struct element_handler basil_1_1_elements[]; ...@@ -59,7 +59,7 @@ extern const struct element_handler basil_1_1_elements[];
extern const struct element_handler basil_3_1_elements[]; extern const struct element_handler basil_3_1_elements[];
extern const struct element_handler basil_4_0_elements[]; extern const struct element_handler basil_4_0_elements[];
extern const struct element_handler basil_5_1_elements[]; extern const struct element_handler basil_5_1_elements[];
extern const struct element_handler basil_5_2_elements[]; extern struct element_handler basil_5_2_elements[];
/* atoul.c */ /* atoul.c */
extern int atou64(const char *str, uint64_t *value); extern int atou64(const char *str, uint64_t *value);
extern int atou32(const char *str, uint32_t *value); extern int atou32(const char *str, uint32_t *value);
......
...@@ -23,7 +23,8 @@ const char *bv_names[BV_MAX] = { /* Basil Protocol version */ ...@@ -23,7 +23,8 @@ const char *bv_names[BV_MAX] = { /* Basil Protocol version */
[BV_4_1] = "1.2", [BV_4_1] = "1.2",
[BV_5_0] = "1.2", [BV_5_0] = "1.2",
[BV_5_1] = "1.3", [BV_5_1] = "1.3",
[BV_5_2] = "1.3" [BV_5_2] = "1.3",
[BV_5_2_46] = "1.3"
}; };
const char *bv_names_long[BV_MAX] = { /* Actual version name */ const char *bv_names_long[BV_MAX] = { /* Actual version name */
...@@ -35,7 +36,8 @@ const char *bv_names_long[BV_MAX] = { /* Actual version name */ ...@@ -35,7 +36,8 @@ const char *bv_names_long[BV_MAX] = { /* Actual version name */
[BV_4_1] = "4.1", [BV_4_1] = "4.1",
[BV_5_0] = "5.0", [BV_5_0] = "5.0",
[BV_5_1] = "5.1", [BV_5_1] = "5.1",
[BV_5_2] = "5.2" [BV_5_2] = "5.2",
[BV_5_2_46] = "5.2"
}; };
/* Basil methods */ /* Basil methods */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment