const struct rmsummary *category_dynamic_task_min_resources(struct category *c, struct rmsummary *user, category_allocation_t request) { static struct rmsummary *internal = NULL; const struct rmsummary *max = category_dynamic_task_max_resources(c, user, request); if(internal) { rmsummary_delete(internal); } internal = rmsummary_create(-1); /* load seen values */ struct rmsummary *seen = c->max_resources_seen; if(c->allocation_mode != CATEGORY_ALLOCATION_MODE_FIXED) { internal->cores = seen->cores; internal->memory = seen->memory; internal->disk = seen->disk; } rmsummary_merge_override(internal, max); return internal; }
const struct rmsummary *dag_node_dynamic_label(struct dag_node *n) { return category_dynamic_task_max_resources(n->category, NULL, n->resource_request); }