diff --git a/src/plugins/node_features/knl_cray/node_features_knl_cray.c b/src/plugins/node_features/knl_cray/node_features_knl_cray.c index 18f5627711b02f6222b1e2cf88821126bfaaf47c..24a6a5c2b6574cf78042738b5d72f0d9f5c8c881 100644 --- a/src/plugins/node_features/knl_cray/node_features_knl_cray.c +++ b/src/plugins/node_features/knl_cray/node_features_knl_cray.c @@ -670,6 +670,11 @@ static void _json_parse_mcdram_cfg_object(json_object *jobj, mcdram_cfg_t *ent) int64_t x; const char *p; + /* Initialize object */ + ent->dram_size = NO_VAL; + ent->mcdram_pct = NO_VAL16; + ent->mcdram_size = NO_VAL; + json_object_object_foreachC(jobj, iter) { type = json_object_get_type(iter.val); switch (type) { @@ -2287,8 +2292,9 @@ static int _update_node_state(char *node_list, bool set_locks) !bit_test(mcdram_cfg2[k].node_bitmap, mcdram_cfg[i].nid)) continue; - if (mcdram_cfg[i].mcdram_pct != - mcdram_cfg2[k].cache_pct) { + if ((mcdram_cfg[i].mcdram_pct != NO_VAL16) && + (mcdram_cfg[i].mcdram_pct != + mcdram_cfg2[k].cache_pct)) { info("%s: HBM mismatch between capmc and cnselect for nid %u (%u != %d)", __func__, mcdram_cfg[i].nid, mcdram_cfg[i].mcdram_pct,