Skip to content

Commit 2a2680e

Browse files
committed
Pass only a single node to memory provider
when creating provider from highest capacity memspace
1 parent f202776 commit 2a2680e

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

src/memory_targets/memory_target_numa.c

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ static enum umf_result_t numa_memory_provider_create_from_memspace(
106106
umf_memspace_policy_handle_t policy,
107107
umf_memory_provider_handle_t *provider) {
108108
(void)memspace;
109+
(void)numTargets;
109110
// TODO: apply policy
110111
(void)policy;
111112

@@ -115,9 +116,18 @@ static enum umf_result_t numa_memory_provider_create_from_memspace(
115116
unsigned long *nodemask;
116117
unsigned maxnode;
117118
size_t nodemask_size;
119+
size_t numNodesProvider;
120+
121+
if (memspace == umfMemspaceHighestCapacityGet()) {
122+
// Pass only a single node to provider for now.
123+
// TODO: change this once we implement memspace policies
124+
numNodesProvider = 1;
125+
} else {
126+
numNodesProvider = numTargets;
127+
}
118128

119129
umf_result_t ret = numa_targets_create_nodemask(
120-
numaTargets, numTargets, &nodemask, &maxnode, &nodemask_size);
130+
numaTargets, numNodesProvider, &nodemask, &maxnode, &nodemask_size);
121131
if (ret != UMF_RESULT_SUCCESS) {
122132
return ret;
123133
}

0 commit comments

Comments
 (0)