Re: [PATCH] softirq: Replace this_cpu_write with __this_cpu_write if irq is disabled

From: Paul E. McKenney
Date: Mon Jun 24 2019 - 19:04:55 EST


On Tue, Jun 18, 2019 at 10:33:05PM +0800, Muchun Song wrote:
> Irq is disabled before this_cpu_write(), so we can Replace this_cpu_write()
> with __this_cpu_write().
>
> Signed-off-by: Muchun Song <smuchun@xxxxxxxxx>

This passes light rcutorture testing, and looks rather low risk.

Tested-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxx>

> ---
> kernel/softirq.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/kernel/softirq.c b/kernel/softirq.c
> index 2c3382378d94..eaf3bdf7c749 100644
> --- a/kernel/softirq.c
> +++ b/kernel/softirq.c
> @@ -650,7 +650,7 @@ static int takeover_tasklets(unsigned int cpu)
> /* Find end, append list for that CPU. */
> if (&per_cpu(tasklet_vec, cpu).head != per_cpu(tasklet_vec, cpu).tail) {
> *__this_cpu_read(tasklet_vec.tail) = per_cpu(tasklet_vec, cpu).head;
> - this_cpu_write(tasklet_vec.tail, per_cpu(tasklet_vec, cpu).tail);
> + __this_cpu_write(tasklet_vec.tail, per_cpu(tasklet_vec, cpu).tail);
> per_cpu(tasklet_vec, cpu).head = NULL;
> per_cpu(tasklet_vec, cpu).tail = &per_cpu(tasklet_vec, cpu).head;
> }
> --
> 2.17.1
>