Commit 8417773b authored by Oleg Drokin's avatar Oleg Drokin Committed by Greg Kroah-Hartman

staging/lustre/libcfs: replace deprecated cpus_ calls with cpumask_

This patch continues to further remove deprecated functions, such as
any_online_cpu, for_each_cpu_mask and also cleaning up
usage of NR_CPUS in a few places
Signed-off-by: default avatarOleg Drokin <green@linuxhacker.ru>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent dfc16973
...@@ -204,7 +204,7 @@ cfs_cpt_table_print(struct cfs_cpt_table *cptab, char *buf, int len) ...@@ -204,7 +204,7 @@ cfs_cpt_table_print(struct cfs_cpt_table *cptab, char *buf, int len)
} }
tmp += rc; tmp += rc;
for_each_cpu_mask(j, *cptab->ctb_parts[i].cpt_cpumask) { for_each_cpu(j, cptab->ctb_parts[i].cpt_cpumask) {
rc = snprintf(tmp, len, "%d ", j); rc = snprintf(tmp, len, "%d ", j);
len -= rc; len -= rc;
if (len <= 0) { if (len <= 0) {
...@@ -251,8 +251,10 @@ cfs_cpt_online(struct cfs_cpt_table *cptab, int cpt) ...@@ -251,8 +251,10 @@ cfs_cpt_online(struct cfs_cpt_table *cptab, int cpt)
LASSERT(cpt == CFS_CPT_ANY || (cpt >= 0 && cpt < cptab->ctb_nparts)); LASSERT(cpt == CFS_CPT_ANY || (cpt >= 0 && cpt < cptab->ctb_nparts));
return cpt == CFS_CPT_ANY ? return cpt == CFS_CPT_ANY ?
any_online_cpu(*cptab->ctb_cpumask) < nr_cpu_ids : cpumask_any_and(cptab->ctb_cpumask,
any_online_cpu(*cptab->ctb_parts[cpt].cpt_cpumask) < nr_cpu_ids; cpu_online_mask) < nr_cpu_ids :
cpumask_any_and(cptab->ctb_parts[cpt].cpt_cpumask,
cpu_online_mask) < nr_cpu_ids;
} }
EXPORT_SYMBOL(cfs_cpt_online); EXPORT_SYMBOL(cfs_cpt_online);
...@@ -356,22 +358,22 @@ cfs_cpt_unset_cpu(struct cfs_cpt_table *cptab, int cpt, int cpu) ...@@ -356,22 +358,22 @@ cfs_cpt_unset_cpu(struct cfs_cpt_table *cptab, int cpt, int cpu)
LASSERT(node_isset(node, *cptab->ctb_parts[cpt].cpt_nodemask)); LASSERT(node_isset(node, *cptab->ctb_parts[cpt].cpt_nodemask));
LASSERT(node_isset(node, *cptab->ctb_nodemask)); LASSERT(node_isset(node, *cptab->ctb_nodemask));
for_each_cpu_mask(i, *cptab->ctb_parts[cpt].cpt_cpumask) { for_each_cpu(i, cptab->ctb_parts[cpt].cpt_cpumask) {
/* this CPT has other CPU belonging to this node? */ /* this CPT has other CPU belonging to this node? */
if (cpu_to_node(i) == node) if (cpu_to_node(i) == node)
break; break;
} }
if (i == NR_CPUS) if (i >= nr_cpu_ids)
node_clear(node, *cptab->ctb_parts[cpt].cpt_nodemask); node_clear(node, *cptab->ctb_parts[cpt].cpt_nodemask);
for_each_cpu_mask(i, *cptab->ctb_cpumask) { for_each_cpu(i, cptab->ctb_cpumask) {
/* this CPT-table has other CPU belonging to this node? */ /* this CPT-table has other CPU belonging to this node? */
if (cpu_to_node(i) == node) if (cpu_to_node(i) == node)
break; break;
} }
if (i == NR_CPUS) if (i >= nr_cpu_ids)
node_clear(node, *cptab->ctb_nodemask); node_clear(node, *cptab->ctb_nodemask);
return; return;
...@@ -383,13 +385,14 @@ cfs_cpt_set_cpumask(struct cfs_cpt_table *cptab, int cpt, cpumask_t *mask) ...@@ -383,13 +385,14 @@ cfs_cpt_set_cpumask(struct cfs_cpt_table *cptab, int cpt, cpumask_t *mask)
{ {
int i; int i;
if (cpumask_weight(mask) == 0 || any_online_cpu(*mask) >= nr_cpu_ids) { if (cpumask_weight(mask) == 0 ||
cpumask_any_and(mask, cpu_online_mask) >= nr_cpu_ids) {
CDEBUG(D_INFO, "No online CPU is found in the CPU mask for CPU partition %d\n", CDEBUG(D_INFO, "No online CPU is found in the CPU mask for CPU partition %d\n",
cpt); cpt);
return 0; return 0;
} }
for_each_cpu_mask(i, *mask) { for_each_cpu(i, mask) {
if (!cfs_cpt_set_cpu(cptab, cpt, i)) if (!cfs_cpt_set_cpu(cptab, cpt, i))
return 0; return 0;
} }
...@@ -403,7 +406,7 @@ cfs_cpt_unset_cpumask(struct cfs_cpt_table *cptab, int cpt, cpumask_t *mask) ...@@ -403,7 +406,7 @@ cfs_cpt_unset_cpumask(struct cfs_cpt_table *cptab, int cpt, cpumask_t *mask)
{ {
int i; int i;
for_each_cpu_mask(i, *mask) for_each_cpu(i, mask)
cfs_cpt_unset_cpu(cptab, cpt, i); cfs_cpt_unset_cpu(cptab, cpt, i);
} }
EXPORT_SYMBOL(cfs_cpt_unset_cpumask); EXPORT_SYMBOL(cfs_cpt_unset_cpumask);
...@@ -493,7 +496,7 @@ cfs_cpt_clear(struct cfs_cpt_table *cptab, int cpt) ...@@ -493,7 +496,7 @@ cfs_cpt_clear(struct cfs_cpt_table *cptab, int cpt)
} }
for (; cpt <= last; cpt++) { for (; cpt <= last; cpt++) {
for_each_cpu_mask(i, *cptab->ctb_parts[cpt].cpt_cpumask) for_each_cpu(i, cptab->ctb_parts[cpt].cpt_cpumask)
cfs_cpt_unset_cpu(cptab, cpt, i); cfs_cpt_unset_cpu(cptab, cpt, i);
} }
} }
...@@ -578,7 +581,7 @@ cfs_cpt_bind(struct cfs_cpt_table *cptab, int cpt) ...@@ -578,7 +581,7 @@ cfs_cpt_bind(struct cfs_cpt_table *cptab, int cpt)
nodemask = cptab->ctb_parts[cpt].cpt_nodemask; nodemask = cptab->ctb_parts[cpt].cpt_nodemask;
} }
if (any_online_cpu(*cpumask) >= nr_cpu_ids) { if (cpumask_any_and(cpumask, cpu_online_mask) >= nr_cpu_ids) {
CERROR("No online CPU found in CPU partition %d, did someone do CPU hotplug on system? You might need to reload Lustre modules to keep system working well.\n", CERROR("No online CPU found in CPU partition %d, did someone do CPU hotplug on system? You might need to reload Lustre modules to keep system working well.\n",
cpt); cpt);
return -EINVAL; return -EINVAL;
...@@ -654,7 +657,7 @@ cfs_cpt_choose_ncpus(struct cfs_cpt_table *cptab, int cpt, ...@@ -654,7 +657,7 @@ cfs_cpt_choose_ncpus(struct cfs_cpt_table *cptab, int cpt,
LASSERT(!cpumask_empty(core)); LASSERT(!cpumask_empty(core));
for_each_cpu_mask(i, *core) { for_each_cpu(i, core) {
cpumask_clear_cpu(i, socket); cpumask_clear_cpu(i, socket);
cpumask_clear_cpu(i, node); cpumask_clear_cpu(i, node);
...@@ -965,7 +968,8 @@ cfs_cpu_notify(struct notifier_block *self, unsigned long action, void *hcpu) ...@@ -965,7 +968,8 @@ cfs_cpu_notify(struct notifier_block *self, unsigned long action, void *hcpu)
mutex_lock(&cpt_data.cpt_mutex); mutex_lock(&cpt_data.cpt_mutex);
/* if all HTs in a core are offline, it may break affinity */ /* if all HTs in a core are offline, it may break affinity */
cfs_cpu_ht_siblings(cpu, cpt_data.cpt_cpumask); cfs_cpu_ht_siblings(cpu, cpt_data.cpt_cpumask);
warn = any_online_cpu(*cpt_data.cpt_cpumask) >= nr_cpu_ids; warn = cpumask_any_and(cpt_data.cpt_cpumask,
cpu_online_mask) >= nr_cpu_ids;
mutex_unlock(&cpt_data.cpt_mutex); mutex_unlock(&cpt_data.cpt_mutex);
CDEBUG(warn ? D_WARNING : D_INFO, CDEBUG(warn ? D_WARNING : D_INFO,
"Lustre: can't support CPU plug-out well now, performance and stability could be impacted [CPU %u action: %lx]\n", "Lustre: can't support CPU plug-out well now, performance and stability could be impacted [CPU %u action: %lx]\n",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment