summaryrefslogtreecommitdiff
path: root/drivers/staging
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.com>2018-01-23 09:27:47 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-01-23 13:42:03 +0300
commit7d70718de014ada7280bb011db8655e18ed935b1 (patch)
tree858c1b37a83373f036fa976e432d4117c18c541a /drivers/staging
parent9fb8b101a7529a7d882df16448f20c1879535f0b (diff)
downloadlinux-7d70718de014ada7280bb011db8655e18ed935b1.tar.xz
staging: lustre: lnet/selftest: fix compile error on UP build
When compiled without CONFIG_SMP, we get a compile error as ->ctb_parts is not defined. There is already a function, cfs_cpt_cpumask(), which will get the cpumask we need, and which handles the UP case by returning a NULL pointer. So use that and handle NULL. Also avoid the #ifdef by allocating a cpumask_var and copying into it, rather than sharing the mask. Reported-by: kbuild test robot <fengguang.wu@intel.com> Fixes: 6106c0f82481 ("staging: lustre: lnet: convert selftest to use workqueues") Signed-off-by: NeilBrown <neilb@suse.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging')
-rw-r--r--drivers/staging/lustre/lnet/selftest/module.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/drivers/staging/lustre/lnet/selftest/module.c b/drivers/staging/lustre/lnet/selftest/module.c
index 31a74b48c995..7359aa56d9b3 100644
--- a/drivers/staging/lustre/lnet/selftest/module.c
+++ b/drivers/staging/lustre/lnet/selftest/module.c
@@ -110,7 +110,8 @@ lnet_selftest_init(void)
lst_init_step = LST_INIT_WI_TEST;
for (i = 0; i < nscheds; i++) {
int nthrs = cfs_cpt_weight(lnet_cpt_table(), i);
- struct workqueue_attrs attrs;
+ struct workqueue_attrs attrs = {0};
+ cpumask_var_t *mask = cfs_cpt_cpumask(lnet_cpt_table(), i);
/* reserve at least one CPU for LND */
nthrs = max(nthrs - 1, 1);
@@ -121,14 +122,12 @@ lnet_selftest_init(void)
rc = -ENOMEM;
goto error;
}
- attrs.nice = 0;
- #ifdef CONFIG_CPUMASK_OFFSTACK
- attrs.cpumask = lnet_cpt_table()->ctb_parts[i].cpt_cpumask;
- #else
- cpumask_copy(attrs.cpumask, lnet_cpt_table()->ctb_parts[i].cpt_cpumask);
- #endif
- attrs.no_numa = false;
- apply_workqueue_attrs(lst_test_wq[i], &attrs);
+
+ if (mask && alloc_cpumask_var(&attrs.cpumask, GFP_KERNEL)) {
+ cpumask_copy(attrs.cpumask, *mask);
+ apply_workqueue_attrs(lst_test_wq[i], &attrs);
+ free_cpumask_var(attrs.cpumask);
+ }
}
rc = srpc_startup();