Skip to contentSkip to conversation

kernel: padata : use this_cpu_read per-cpu helper

PATCH Superseded Shan Wei 3 participants 3 messages Nov 2, 2012 – Nov 3, 2012

Subsystems (2)

v2 of 4 Superseded Latest is v4 →

lore
Share & tools
lore

Shan Wei

author
#0 lore raw

PATCH v2 5/9 kernel: padata : use this_cpu_read per-cpu helper

From: Shan Wei <[email protected]>

---
 kernel/padata.c |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)
kernel/padata.c +2 -3
index 89fe3d1..cf94137 100644
@@ -171,7 +171,7 @@ static struct padata_priv *padata_get_next(struct parallel_data *pd)
 {
 	int cpu, num_cpus;
 	unsigned int next_nr, next_index;
-	struct padata_parallel_queue *queue, *next_queue;
+	struct padata_parallel_queue *next_queue;
 	struct padata_priv *padata;
 	struct padata_list *reorder;
 
@@ -204,8 +204,7 @@ static struct padata_priv *padata_get_next(struct parallel_data *pd)
 		goto out;
 	}
 
-	queue = per_cpu_ptr(pd->pqueue, smp_processor_id());
-	if (queue->cpu_index == next_queue->cpu_index) {
+	if (this_cpu_read(pd->pqueue->cpu_index) == next_queue->cpu_index) {
 		padata = ERR_PTR(-ENODATA);
 		goto out;
 	}
Signature · 1 line
1.7.1
Reviewed-by on v2 5/9
#1 lore raw

kernel/padata.c static struct padata_priv *padata_get_next(struct parallel_data *pd) · line 208

Quoted 4 lines · Shan Wei
kernel/padata.c +1 -2
-	queue = per_cpu_ptr(pd->pqueue, smp_processor_id());
-	if (queue->cpu_index == next_queue->cpu_index) {
+	if (this_cpu_read(pd->pqueue->cpu_index) == next_queue->cpu_index) {
 		padata = ERR_PTR(-ENODATA);
maintainer
#2 lore raw
In reply to Shan Wei

kernel/padata.c static struct padata_priv *padata_get_next(struct parallel_data *pd) · line 207

Quoted 8 lines
kernel/padata.c +1 -2
@@ -204,8 +204,7 @@ static struct padata_priv *padata_get_next(struct parallel_data *pd)
 		goto out;
 	}
 
-	queue = per_cpu_ptr(pd->pqueue, smp_processor_id());
-	if (queue->cpu_index == next_queue->cpu_index) {
+	if (this_cpu_read(pd->pqueue->cpu_index) == next_queue->cpu_index) {

This runs with bottom halves off, so we can use __this_cpu_read here.