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.
-- Double max string that Slurm can pack from 16MB to 32MB to support
larger MPI2 configurations.
-- 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
===========================
......
......@@ -60,6 +60,7 @@ enum basil_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_2, /* Basil 1.3 CLE 5.2 */
BV_5_2_46, /* Basil 1.3 CLE 5.2.46+ */
BV_MAX
};
......
......@@ -5,6 +5,7 @@
* Licensed under the GPLv2.
*/
#include "../basil_alps.h"
#include "parser_internal.h"
/**
* _get_alps_engine - run QUERY of type ENGINE
......@@ -80,10 +81,15 @@ extern enum basil_version get_basil_version(void)
if (_get_alps_engine(engine_version, sizeof(engine_version)) == NULL)
fatal("can not determine ALPS Engine version");
else if ((strncmp(engine_version, "latest", 6) == 0) ||
(strncmp(engine_version, "5.2", 3) == 0))
bv = BV_5_2;
else if (strncmp(engine_version, "5.1", 3) == 0)
else if (strncmp(engine_version, "latest", 6) == 0) {
bv = BV_5_2_46;
} else if (strncmp(engine_version, "5.2", 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;
else if (strncmp(engine_version, "5.0", 3) == 0)
bv = BV_5_0;
......@@ -112,6 +118,13 @@ extern enum basil_version get_basil_version(void)
"src/plugins/select/cray/libalps/do_query.c "
"for this 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;
}
......
......@@ -6,7 +6,7 @@
*/
#include "parser_internal.h"
const struct element_handler basil_5_2_elements[] = {
struct element_handler basil_5_2_elements[] = {
[BT_MESSAGE] = {
.tag = "Message",
.depth = 0xff, /* unused, can appear at any depth */
......@@ -135,19 +135,19 @@ const struct element_handler basil_5_2_elements[] = {
},
[BT_MEMARRAY] = {
.tag = "MemoryArray",
.depth = 9,
.depth = 5,
.uniq = true,
.hnd = NULL
},
[BT_MEMORY] = {
.tag = "Memory",
.depth = 10,
.depth = 6,
.uniq = false,
.hnd = eh_mem
},
[BT_MEMALLOC] = {
.tag = "MemoryAllocation",
.depth = 8,
.depth = 7,
.uniq = false,
.hnd = eh_mem_alloc
},
......
......@@ -515,7 +515,8 @@ static const struct element_handler *basil_tables[BV_MAX] = {
[BV_4_1] = basil_4_0_elements,
[BV_5_0] = basil_4_0_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[];
extern const struct element_handler basil_3_1_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_2_elements[];
extern struct element_handler basil_5_2_elements[];
/* atoul.c */
extern int atou64(const char *str, uint64_t *value);
extern int atou32(const char *str, uint32_t *value);
......
......@@ -23,7 +23,8 @@ const char *bv_names[BV_MAX] = { /* Basil Protocol version */
[BV_4_1] = "1.2",
[BV_5_0] = "1.2",
[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 */
......@@ -35,7 +36,8 @@ const char *bv_names_long[BV_MAX] = { /* Actual version name */
[BV_4_1] = "4.1",
[BV_5_0] = "5.0",
[BV_5_1] = "5.1",
[BV_5_2] = "5.2"
[BV_5_2] = "5.2",
[BV_5_2_46] = "5.2"
};
/* 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