projects
/
fio.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Avoid buildenv conditional in thread_option struct
[fio.git]
/
backend.c
diff --git
a/backend.c
b/backend.c
index e0f8aa76f584dc8f978c1f2649fae5292f563718..9deef284e36b81be3012f837b7a3bfdd53d242c8 100644
(file)
--- a/
backend.c
+++ b/
backend.c
@@
-1339,6
+1339,7
@@
static void *thread_main(void *data)
#ifdef CONFIG_LIBNUMA
/* numa node setup */
if (o->numa_cpumask_set || o->numa_memmask_set) {
#ifdef CONFIG_LIBNUMA
/* numa node setup */
if (o->numa_cpumask_set || o->numa_memmask_set) {
+ struct bitmask *mask;
int ret;
if (numa_available() < 0) {
int ret;
if (numa_available() < 0) {
@@
-1347,7
+1348,9
@@
static void *thread_main(void *data)
}
if (o->numa_cpumask_set) {
}
if (o->numa_cpumask_set) {
- ret = numa_run_on_node_mask(o->numa_cpunodesmask);
+ mask = numa_parse_nodestring(o->numa_cpunodes);
+ ret = numa_run_on_node_mask(mask);
+ numa_free_nodemask(mask);
if (ret == -1) {
td_verror(td, errno, \
"numa_run_on_node_mask failed\n");
if (ret == -1) {
td_verror(td, errno, \
"numa_run_on_node_mask failed\n");
@@
-1357,12
+1360,16
@@
static void *thread_main(void *data)
if (o->numa_memmask_set) {
if (o->numa_memmask_set) {
+ mask = NULL;
+ if (o->numa_memnodes)
+ mask = numa_parse_nodestring(o->numa_memnodes);
+
switch (o->numa_mem_mode) {
case MPOL_INTERLEAVE:
switch (o->numa_mem_mode) {
case MPOL_INTERLEAVE:
- numa_set_interleave_mask(
o->numa_memnodes
mask);
+ numa_set_interleave_mask(mask);
break;
case MPOL_BIND:
break;
case MPOL_BIND:
- numa_set_membind(
o->numa_memnodes
mask);
+ numa_set_membind(mask);
break;
case MPOL_LOCAL:
numa_set_localalloc();
break;
case MPOL_LOCAL:
numa_set_localalloc();
@@
-1375,6
+1382,9
@@
static void *thread_main(void *data)
break;
}
break;
}
+ if (mask)
+ numa_free_nodemask(mask);
+
}
}
#endif
}
}
#endif