summaryrefslogtreecommitdiffstats
path: root/kernel/irq/affinity.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/irq/affinity.c')
-rw-r--r--kernel/irq/affinity.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/kernel/irq/affinity.c b/kernel/irq/affinity.c
index f18cd5aa33e8..4352b08ae48d 100644
--- a/kernel/irq/affinity.c
+++ b/kernel/irq/affinity.c
@@ -94,8 +94,7 @@ static int get_nodes_in_cpumask(cpumask_var_t *node_to_cpumask,
94 return nodes; 94 return nodes;
95} 95}
96 96
97static int __irq_build_affinity_masks(const struct irq_affinity *affd, 97static int __irq_build_affinity_masks(unsigned int startvec,
98 unsigned int startvec,
99 unsigned int numvecs, 98 unsigned int numvecs,
100 unsigned int firstvec, 99 unsigned int firstvec,
101 cpumask_var_t *node_to_cpumask, 100 cpumask_var_t *node_to_cpumask,
@@ -171,8 +170,7 @@ static int __irq_build_affinity_masks(const struct irq_affinity *affd,
171 * 1) spread present CPU on these vectors 170 * 1) spread present CPU on these vectors
172 * 2) spread other possible CPUs on these vectors 171 * 2) spread other possible CPUs on these vectors
173 */ 172 */
174static int irq_build_affinity_masks(const struct irq_affinity *affd, 173static int irq_build_affinity_masks(unsigned int startvec, unsigned int numvecs,
175 unsigned int startvec, unsigned int numvecs,
176 unsigned int firstvec, 174 unsigned int firstvec,
177 struct irq_affinity_desc *masks) 175 struct irq_affinity_desc *masks)
178{ 176{
@@ -197,7 +195,7 @@ static int irq_build_affinity_masks(const struct irq_affinity *affd,
197 build_node_to_cpumask(node_to_cpumask); 195 build_node_to_cpumask(node_to_cpumask);
198 196
199 /* Spread on present CPUs starting from affd->pre_vectors */ 197 /* Spread on present CPUs starting from affd->pre_vectors */
200 nr_present = __irq_build_affinity_masks(affd, curvec, numvecs, 198 nr_present = __irq_build_affinity_masks(curvec, numvecs,
201 firstvec, node_to_cpumask, 199 firstvec, node_to_cpumask,
202 cpu_present_mask, nmsk, masks); 200 cpu_present_mask, nmsk, masks);
203 201
@@ -212,7 +210,7 @@ static int irq_build_affinity_masks(const struct irq_affinity *affd,
212 else 210 else
213 curvec = firstvec + nr_present; 211 curvec = firstvec + nr_present;
214 cpumask_andnot(npresmsk, cpu_possible_mask, cpu_present_mask); 212 cpumask_andnot(npresmsk, cpu_possible_mask, cpu_present_mask);
215 nr_others = __irq_build_affinity_masks(affd, curvec, numvecs, 213 nr_others = __irq_build_affinity_masks(curvec, numvecs,
216 firstvec, node_to_cpumask, 214 firstvec, node_to_cpumask,
217 npresmsk, nmsk, masks); 215 npresmsk, nmsk, masks);
218 put_online_cpus(); 216 put_online_cpus();
@@ -295,7 +293,7 @@ irq_create_affinity_masks(unsigned int nvecs, struct irq_affinity *affd)
295 unsigned int this_vecs = affd->set_size[i]; 293 unsigned int this_vecs = affd->set_size[i];
296 int ret; 294 int ret;
297 295
298 ret = irq_build_affinity_masks(affd, curvec, this_vecs, 296 ret = irq_build_affinity_masks(curvec, this_vecs,
299 curvec, masks); 297 curvec, masks);
300 if (ret) { 298 if (ret) {
301 kfree(masks); 299 kfree(masks);