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 df2ebe1686d3caa8e165f94c25fbbf671604c875..6d3c210226272a48b254200838e53c887e4410e1 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 @@ -1779,6 +1779,18 @@ extern int node_features_p_job_valid(char *job_features) if (numa_cnt > 1) /* Multiple NUMA options */ return ESLURM_INVALID_KNL; + /* snc4 only allowed with cache today due to invalid config information + * reported by kernel to hwloc, then to Slurm */ + if (!job_numa) { + job_numa = default_numa; + } + if (!job_mcdram) { + job_mcdram = default_mcdram; + } + if (job_numa == KNL_SNC4 && job_mcdram != KNL_CACHE) { + return ESLURM_INVALID_KNL; + } + return SLURM_SUCCESS; }