From: Christoph Lameter <cl@linux.com>
To: Tejun Heo <tj@kernel.org>
Cc: akpm@linuxfoundation.org, rostedt@goodmis.org,
linux-kernel@vger.kernel.org, Ingo Molnar <mingo@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Thomas Gleixner <tglx@linutronix.de>,
nicolas.pitre@linaro.org,
Russell King <rmk+kernel@arm.linux.org.uk>
Subject: [PATCH 28/48] irqchips: Replace __this_cpu_ptr uses
Date: Fri, 14 Feb 2014 14:19:09 -0600 [thread overview]
Message-ID: <20140214201906.908615911@linux.com> (raw)
In-Reply-To: 20140214201841.826179349@linux.com
[-- Attachment #1: this_irqchip --]
[-- Type: text/plain, Size: 2639 bytes --]
[Patch depends on another patch in this series that introduces raw_cpu_ops]
These are generally replaced with raw_cpu_ptr. However, in
gic_get_percpu_base() we immediately dereference the pointer. This is
equivalent to a raw_cpu_read. So use that operation there.
Cc: nicolas.pitre@linaro.org
Cc: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Christoph Lameter <cl@linux.com>
Index: linux/drivers/irqchip/irq-gic.c
===================================================================
--- linux.orig/drivers/irqchip/irq-gic.c 2013-12-02 16:07:55.564473217 -0600
+++ linux/drivers/irqchip/irq-gic.c 2013-12-02 16:07:55.554473493 -0600
@@ -102,7 +102,7 @@ static struct gic_chip_data gic_data[MAX
#ifdef CONFIG_GIC_NON_BANKED
static void __iomem *gic_get_percpu_base(union gic_base *base)
{
- return *__this_cpu_ptr(base->percpu_base);
+ return raw_cpu_read(base->percpu_base);
}
static void __iomem *gic_get_common_base(union gic_base *base)
@@ -552,11 +552,11 @@ static void gic_cpu_save(unsigned int gi
if (!dist_base || !cpu_base)
return;
- ptr = __this_cpu_ptr(gic_data[gic_nr].saved_ppi_enable);
+ ptr = raw_cpu_ptr(gic_data[gic_nr].saved_ppi_enable);
for (i = 0; i < DIV_ROUND_UP(32, 32); i++)
ptr[i] = readl_relaxed(dist_base + GIC_DIST_ENABLE_SET + i * 4);
- ptr = __this_cpu_ptr(gic_data[gic_nr].saved_ppi_conf);
+ ptr = raw_cpu_ptr(gic_data[gic_nr].saved_ppi_conf);
for (i = 0; i < DIV_ROUND_UP(32, 16); i++)
ptr[i] = readl_relaxed(dist_base + GIC_DIST_CONFIG + i * 4);
@@ -578,11 +578,11 @@ static void gic_cpu_restore(unsigned int
if (!dist_base || !cpu_base)
return;
- ptr = __this_cpu_ptr(gic_data[gic_nr].saved_ppi_enable);
+ ptr = raw_cpu_ptr(gic_data[gic_nr].saved_ppi_enable);
for (i = 0; i < DIV_ROUND_UP(32, 32); i++)
writel_relaxed(ptr[i], dist_base + GIC_DIST_ENABLE_SET + i * 4);
- ptr = __this_cpu_ptr(gic_data[gic_nr].saved_ppi_conf);
+ ptr = raw_cpu_ptr(gic_data[gic_nr].saved_ppi_conf);
for (i = 0; i < DIV_ROUND_UP(32, 16); i++)
writel_relaxed(ptr[i], dist_base + GIC_DIST_CONFIG + i * 4);
Index: linux/kernel/irq/chip.c
===================================================================
--- linux.orig/kernel/irq/chip.c 2013-12-02 16:07:55.564473217 -0600
+++ linux/kernel/irq/chip.c 2013-12-02 16:07:55.554473493 -0600
@@ -638,7 +638,7 @@ void handle_percpu_devid_irq(unsigned in
{
struct irq_chip *chip = irq_desc_get_chip(desc);
struct irqaction *action = desc->action;
- void *dev_id = __this_cpu_ptr(action->percpu_dev_id);
+ void *dev_id = raw_cpu_ptr(action->percpu_dev_id);
irqreturn_t res;
kstat_incr_irqs_this_cpu(irq, desc);
next prev parent reply other threads:[~2014-02-14 20:27 UTC|newest]
Thread overview: 81+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-14 20:18 [PATCH 00/48] percpu: Consistent per cpu operations V4 Christoph Lameter
2014-02-14 20:18 ` [PATCH 01/48] percpu: Add raw_cpu_ops Christoph Lameter
2014-02-14 20:18 ` [PATCH 02/48] mm: Use raw_cpu ops for determining current NUMA node Christoph Lameter
2014-02-14 20:18 ` [PATCH 03/48] modules: Use raw_cpu_write for initialization of per cpu refcount Christoph Lameter
2014-02-14 20:18 ` [PATCH 04/48] net: Replace __this_cpu_inc in route.c with raw_cpu_inc Christoph Lameter
2014-02-14 20:18 ` [PATCH 05/48] percpu: Add preemption checks to __this_cpu ops Christoph Lameter
2014-03-04 22:27 ` Andrew Morton
2014-03-04 23:27 ` Steven Rostedt
2014-03-05 3:27 ` Christoph Lameter
2014-03-05 21:34 ` Andrew Morton
2014-02-14 20:18 ` [PATCH 06/48] mm: Replace __get_cpu_var uses with this_cpu_ptr Christoph Lameter
2014-02-14 20:18 ` [PATCH 07/48] tracing: " Christoph Lameter
2014-02-14 20:18 ` [PATCH 08/48] percpu: Replace __get_cpu_var " Christoph Lameter
2014-02-14 20:18 ` [PATCH 09/48] kernel misc: Replace __get_cpu_var uses Christoph Lameter
2014-02-14 20:18 ` [PATCH 10/48] drivers/char/random: " Christoph Lameter
2014-02-14 20:18 ` [PATCH 11/48] drivers/cpuidle: Replace __get_cpu_var uses for address calculation Christoph Lameter
2014-02-14 20:18 ` [PATCH 12/48] drivers/oprofile: " Christoph Lameter
2014-02-14 20:18 ` [PATCH 13/48] drivers/leds: Replace __get_cpu_var use through this_cpu_ptr Christoph Lameter
2014-02-14 20:18 ` [PATCH 14/48] drivers/clocksource: Replace __get_cpu_var used for address calculation Christoph Lameter
2014-02-14 20:18 ` [PATCH 15/48] parisc: Replace __get_cpu_var uses " Christoph Lameter
2014-02-14 20:18 ` [PATCH 16/48] metag: " Christoph Lameter
2014-02-14 20:18 ` [PATCH 17/48] drivers/net/ethernet/tile: " Christoph Lameter
2014-02-14 20:18 ` [PATCH 18/48] drivers/net/ethernet/tile: __get_cpu_var call introduced in 3.14 Christoph Lameter
2014-02-14 20:19 ` [PATCH 19/48] tilegx: Another case of get_cpu_var Christoph Lameter
2014-02-14 20:19 ` [PATCH 20/48] time: Replace __get_cpu_var uses Christoph Lameter
2014-02-15 11:33 ` Thomas Gleixner
2014-02-14 20:19 ` [PATCH 21/48] scheduler: Replace __get_cpu_var with this_cpu_ptr Christoph Lameter
2014-02-14 20:19 ` [PATCH 22/48] tick-sched: Fix two new uses of __get_cpu_ptr Christoph Lameter
2014-02-15 11:33 ` Thomas Gleixner
2014-02-14 20:19 ` [PATCH 23/48] block: Replace __this_cpu_ptr with raw_cpu_ptr Christoph Lameter
2014-02-14 20:19 ` [PATCH 24/48] rcu: Replace __this_cpu_ptr uses " Christoph Lameter
2014-02-16 16:17 ` Paul E. McKenney
2014-02-14 20:19 ` [PATCH 25/48] watchdog: Replace __raw_get_cpu_var uses Christoph Lameter
2014-02-14 20:19 ` [PATCH 26/48] net: Replace get_cpu_var through this_cpu_ptr Christoph Lameter
2014-02-14 20:19 ` [PATCH 27/48] md: Replace __this_cpu_ptr with raw_cpu_ptr Christoph Lameter
2014-02-14 20:19 ` Christoph Lameter [this message]
2014-02-14 20:19 ` [PATCH 29/48] x86: Replace __get_cpu_var uses Christoph Lameter
2014-02-14 20:19 ` [PATCH 30/48] x86: Change __get_cpu_var calls introduced in 3.14 Christoph Lameter
2014-02-14 20:19 ` [PATCH 31/48] uv: Replace __get_cpu_var Christoph Lameter
2014-03-04 23:02 ` Andrew Morton
2014-03-04 23:42 ` Steven Rostedt
2014-03-04 23:47 ` Andrew Morton
2014-03-05 0:18 ` H. Peter Anvin
2014-03-05 3:31 ` Christoph Lameter
2014-03-05 4:00 ` Andrew Morton
2014-03-05 15:35 ` Christoph Lameter
2014-03-05 21:57 ` Christoph Lameter
2014-03-06 2:53 ` Mike Travis
2014-03-07 18:16 ` Christoph Lameter
2014-02-14 20:19 ` [PATCH 32/48] arm: Replace __this_cpu_ptr with raw_cpu_ptr Christoph Lameter
2014-02-14 20:19 ` [PATCH 33/48] MIPS: Replace __get_cpu_var uses in FPU emulator Christoph Lameter
2014-02-14 20:19 ` [PATCH 34/48] mips: Replace __get_cpu_var uses Christoph Lameter
2014-02-14 20:19 ` [PATCH 35/48] s390: rename __this_cpu_ptr to raw_cpu_ptr Christoph Lameter
2014-02-14 20:19 ` [PATCH 36/48] s390: Replace __get_cpu_var uses Christoph Lameter
2014-02-14 20:19 ` [PATCH 37/48] s390: Handle new __get_cpu_var calls added in 3.14 Christoph Lameter
2014-02-14 20:19 ` [PATCH 38/48] ia64: Replace __get_cpu_var uses Christoph Lameter
2014-02-14 20:19 ` [PATCH 39/48] powerpc: " Christoph Lameter
2014-02-15 3:50 ` Benjamin Herrenschmidt
2014-02-15 4:26 ` Steven Rostedt
2014-02-15 7:54 ` Mike Galbraith
2014-02-15 10:00 ` Benjamin Herrenschmidt
2014-02-15 11:29 ` Mike Galbraith
2014-02-15 9:59 ` Benjamin Herrenschmidt
2014-02-15 9:42 ` Peter Zijlstra
2014-02-15 10:01 ` Benjamin Herrenschmidt
2014-02-15 12:07 ` Andreas Schwab
2014-02-15 15:45 ` Peter Zijlstra
2014-02-15 18:12 ` David Woodhouse
2014-02-15 20:32 ` Benjamin Herrenschmidt
2014-02-15 20:52 ` Benjamin Herrenschmidt
2014-02-14 20:19 ` [PATCH 40/48] powerpc: Handle new __get_cpu_var calls in 3.14 Christoph Lameter
2014-02-14 20:19 ` [PATCH 41/48] sparc: Replace __get_cpu_var uses Christoph Lameter
2014-02-14 20:19 ` [PATCH 42/48] tile: " Christoph Lameter
2014-02-14 20:19 ` [PATCH 43/48] blackfin: " Christoph Lameter
2014-02-14 20:19 ` [PATCH 44/48] avr32: Replace __get_cpu_var with __this_cpu_write Christoph Lameter
2014-02-14 20:19 ` [PATCH 45/48] alpha: Replace __get_cpu_var Christoph Lameter
2014-02-14 20:19 ` [PATCH 46/48] sh: Replace __get_cpu_var uses Christoph Lameter
2014-02-14 20:19 ` [PATCH 47/48] Remove __get_cpu_var and __raw_get_cpu_var macros [only in 3.16] Christoph Lameter
2014-02-14 20:19 ` [PATCH 48/48] percpu: Remove __this_cpu_ptr Christoph Lameter
2014-03-04 22:27 ` [PATCH 00/48] percpu: Consistent per cpu operations V4 Andrew Morton
2014-03-05 3:29 ` Christoph Lameter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140214201906.908615911@linux.com \
--to=cl@linux.com \
--cc=akpm@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=nicolas.pitre@linaro.org \
--cc=peterz@infradead.org \
--cc=rmk+kernel@arm.linux.org.uk \
--cc=rostedt@goodmis.org \
--cc=tglx@linutronix.de \
--cc=tj@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox