diff options
Diffstat (limited to 'kernel/padata.c')
| -rw-r--r-- | kernel/padata.c | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/kernel/padata.c b/kernel/padata.c index 3202aa17492c..ac8f1e524836 100644 --- a/kernel/padata.c +++ b/kernel/padata.c | |||
| @@ -154,8 +154,6 @@ EXPORT_SYMBOL(padata_do_parallel); | |||
| 154 | * A pointer to the control struct of the next object that needs | 154 | * A pointer to the control struct of the next object that needs |
| 155 | * serialization, if present in one of the percpu reorder queues. | 155 | * serialization, if present in one of the percpu reorder queues. |
| 156 | * | 156 | * |
| 157 | * NULL, if all percpu reorder queues are empty. | ||
| 158 | * | ||
| 159 | * -EINPROGRESS, if the next object that needs serialization will | 157 | * -EINPROGRESS, if the next object that needs serialization will |
| 160 | * be parallel processed by another cpu and is not yet present in | 158 | * be parallel processed by another cpu and is not yet present in |
| 161 | * the cpu's reorder queue. | 159 | * the cpu's reorder queue. |
| @@ -182,8 +180,6 @@ static struct padata_priv *padata_get_next(struct parallel_data *pd) | |||
| 182 | cpu = padata_index_to_cpu(pd, next_index); | 180 | cpu = padata_index_to_cpu(pd, next_index); |
| 183 | next_queue = per_cpu_ptr(pd->pqueue, cpu); | 181 | next_queue = per_cpu_ptr(pd->pqueue, cpu); |
| 184 | 182 | ||
| 185 | padata = NULL; | ||
| 186 | |||
| 187 | reorder = &next_queue->reorder; | 183 | reorder = &next_queue->reorder; |
| 188 | 184 | ||
| 189 | spin_lock(&reorder->lock); | 185 | spin_lock(&reorder->lock); |
| @@ -235,12 +231,11 @@ static void padata_reorder(struct parallel_data *pd) | |||
| 235 | padata = padata_get_next(pd); | 231 | padata = padata_get_next(pd); |
| 236 | 232 | ||
| 237 | /* | 233 | /* |
| 238 | * All reorder queues are empty, or the next object that needs | 234 | * If the next object that needs serialization is parallel |
| 239 | * serialization is parallel processed by another cpu and is | 235 | * processed by another cpu and is still on it's way to the |
| 240 | * still on it's way to the cpu's reorder queue, nothing to | 236 | * cpu's reorder queue, nothing to do for now. |
| 241 | * do for now. | ||
| 242 | */ | 237 | */ |
| 243 | if (!padata || PTR_ERR(padata) == -EINPROGRESS) | 238 | if (PTR_ERR(padata) == -EINPROGRESS) |
| 244 | break; | 239 | break; |
| 245 | 240 | ||
| 246 | /* | 241 | /* |
| @@ -354,7 +349,7 @@ static int padata_setup_cpumasks(struct parallel_data *pd, | |||
| 354 | 349 | ||
| 355 | cpumask_and(pd->cpumask.pcpu, pcpumask, cpu_online_mask); | 350 | cpumask_and(pd->cpumask.pcpu, pcpumask, cpu_online_mask); |
| 356 | if (!alloc_cpumask_var(&pd->cpumask.cbcpu, GFP_KERNEL)) { | 351 | if (!alloc_cpumask_var(&pd->cpumask.cbcpu, GFP_KERNEL)) { |
| 357 | free_cpumask_var(pd->cpumask.cbcpu); | 352 | free_cpumask_var(pd->cpumask.pcpu); |
| 358 | return -ENOMEM; | 353 | return -ENOMEM; |
| 359 | } | 354 | } |
| 360 | 355 | ||
