diff options
| author | David S. Miller <davem@davemloft.net> | 2014-06-02 00:58:02 -0400 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2014-06-02 00:58:02 -0400 |
| commit | ee39facbf82e73e468c504d2b40e83e2d223c28c (patch) | |
| tree | 802451ae11344f94f66a8b922a5418095707517e /lib | |
| parent | 2a82e40d6b66373498bf937e31b249f17dc1105a (diff) | |
net: Revert mlx4 cpumask changes.
This reverts commit 70a640d0dae3a9b1b222ce673eb5d92c263ddd61
("net/mlx4_en: Use affinity hint") and commit
c8865b64b05b2f4eeefd369373e9c8aeb069e7a1 ("cpumask: Utility function
to set n'th cpu - local cpu first") because these changes break
the build when SMP is disabled amongst other things.
Reported-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/cpumask.c | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/lib/cpumask.c b/lib/cpumask.c index 14049a96f04a..b810b753c607 100644 --- a/lib/cpumask.c +++ b/lib/cpumask.c | |||
| @@ -163,68 +163,4 @@ void __init free_bootmem_cpumask_var(cpumask_var_t mask) | |||
| 163 | { | 163 | { |
| 164 | memblock_free_early(__pa(mask), cpumask_size()); | 164 | memblock_free_early(__pa(mask), cpumask_size()); |
| 165 | } | 165 | } |
| 166 | |||
| 167 | /** | ||
| 168 | * cpumask_set_cpu_local_first - set i'th cpu with local numa cpu's first | ||
| 169 | * | ||
| 170 | * @i: index number | ||
| 171 | * @numa_node: local numa_node | ||
| 172 | * @dstp: cpumask with the relevant cpu bit set according to the policy | ||
| 173 | * | ||
| 174 | * This function sets the cpumask according to a numa aware policy. | ||
| 175 | * cpumask could be used as an affinity hint for the IRQ related to a | ||
| 176 | * queue. When the policy is to spread queues across cores - local cores | ||
| 177 | * first. | ||
| 178 | * | ||
| 179 | * Returns 0 on success, -ENOMEM for no memory, and -EAGAIN when failed to set | ||
| 180 | * the cpu bit and need to re-call the function. | ||
| 181 | */ | ||
| 182 | int cpumask_set_cpu_local_first(int i, int numa_node, cpumask_t *dstp) | ||
| 183 | { | ||
| 184 | cpumask_var_t mask; | ||
| 185 | int cpu; | ||
| 186 | int ret = 0; | ||
| 187 | |||
| 188 | if (!zalloc_cpumask_var(&mask, GFP_KERNEL)) | ||
| 189 | return -ENOMEM; | ||
| 190 | |||
| 191 | i %= num_online_cpus(); | ||
| 192 | |||
| 193 | if (!cpumask_of_node(numa_node)) { | ||
| 194 | /* Use all online cpu's for non numa aware system */ | ||
| 195 | cpumask_copy(mask, cpu_online_mask); | ||
| 196 | } else { | ||
| 197 | int n; | ||
| 198 | |||
| 199 | cpumask_and(mask, | ||
| 200 | cpumask_of_node(numa_node), cpu_online_mask); | ||
| 201 | |||
| 202 | n = cpumask_weight(mask); | ||
| 203 | if (i >= n) { | ||
| 204 | i -= n; | ||
| 205 | |||
| 206 | /* If index > number of local cpu's, mask out local | ||
| 207 | * cpu's | ||
| 208 | */ | ||
| 209 | cpumask_andnot(mask, cpu_online_mask, mask); | ||
| 210 | } | ||
| 211 | } | ||
| 212 | |||
| 213 | for_each_cpu(cpu, mask) { | ||
| 214 | if (--i < 0) | ||
| 215 | goto out; | ||
| 216 | } | ||
| 217 | |||
| 218 | ret = -EAGAIN; | ||
| 219 | |||
| 220 | out: | ||
| 221 | free_cpumask_var(mask); | ||
| 222 | |||
| 223 | if (!ret) | ||
| 224 | cpumask_set_cpu(cpu, dstp); | ||
| 225 | |||
| 226 | return ret; | ||
| 227 | } | ||
| 228 | EXPORT_SYMBOL(cpumask_set_cpu_local_first); | ||
| 229 | |||
| 230 | #endif | 166 | #endif |
