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>
Subject: [PATCH 40/48] powerpc: Handle new __get_cpu_var calls in 3.14
Date: Fri, 14 Feb 2014 14:19:21 -0600 [thread overview]
Message-ID: <20140214201908.182470299@linux.com> (raw)
In-Reply-To: 20140214201841.826179349@linux.com
[-- Attachment #1: powerpc_new --]
[-- Type: text/plain, Size: 4716 bytes --]
Signed-off-by: Christoph Lameter <cl@linux.com>
Index: linux/arch/powerpc/kernel/irq.c
===================================================================
--- linux.orig/arch/powerpc/kernel/irq.c 2014-02-03 14:16:29.028411561 -0600
+++ linux/arch/powerpc/kernel/irq.c 2014-02-03 14:27:59.283978219 -0600
@@ -486,7 +486,7 @@
/* And finally process it */
if (unlikely(irq == NO_IRQ))
- __get_cpu_var(irq_stat).spurious_irqs++;
+ __this_cpu_inc(irq_stat.spurious_irqs);
else {
desc = irq_to_desc(irq);
if (likely(desc))
Index: linux/arch/powerpc/kernel/kgdb.c
===================================================================
--- linux.orig/arch/powerpc/kernel/kgdb.c 2014-01-28 11:24:05.156637470 -0600
+++ linux/arch/powerpc/kernel/kgdb.c 2014-02-03 14:22:38.680680583 -0600
@@ -155,7 +155,7 @@
{
struct thread_info *thread_info, *exception_thread_info;
struct thread_info *backup_current_thread_info =
- &__get_cpu_var(kgdb_thread_info);
+ this_cpu_ptr(&kgdb_thread_info);
if (user_mode(regs))
return 0;
Index: linux/arch/powerpc/kernel/mce.c
===================================================================
--- linux.orig/arch/powerpc/kernel/mce.c 2014-01-28 11:24:05.156637470 -0600
+++ linux/arch/powerpc/kernel/mce.c 2014-02-03 14:26:27.685893903 -0600
@@ -73,8 +73,8 @@
uint64_t addr)
{
uint64_t srr1;
- int index = __get_cpu_var(mce_nest_count)++;
- struct machine_check_event *mce = &__get_cpu_var(mce_event[index]);
+ int index = __this_cpu_inc_return(mce_nest_count);
+ struct machine_check_event *mce = __this_cpu_read(mce_event[index]);
/*
* Return if we don't have enough space to log mce event.
@@ -143,7 +143,7 @@
*/
int get_mce_event(struct machine_check_event *mce, bool release)
{
- int index = __get_cpu_var(mce_nest_count) - 1;
+ int index = __this_cpu_read(mce_nest_count) - 1;
struct machine_check_event *mc_evt;
int ret = 0;
@@ -153,7 +153,7 @@
/* Check if we have MCE info to process. */
if (index < MAX_MC_EVT) {
- mc_evt = &__get_cpu_var(mce_event[index]);
+ mc_evt = __this_cpu_read(mce_event[index]);
/* Copy the event structure and release the original */
if (mce)
*mce = *mc_evt;
@@ -163,7 +163,7 @@
}
/* Decrement the count to free the slot. */
if (release)
- __get_cpu_var(mce_nest_count)--;
+ __this_cpu_dec(mce_nest_count);
return ret;
}
@@ -184,13 +184,13 @@
if (!get_mce_event(&evt, MCE_EVENT_RELEASE))
return;
- index = __get_cpu_var(mce_queue_count)++;
+ index = __this_cpu_inc_return(mce_queue_count);
/* If queue is full, just return for now. */
if (index >= MAX_MC_EVT) {
- __get_cpu_var(mce_queue_count)--;
+ __this_cpu_dec(mce_queue_count);
return;
}
- __get_cpu_var(mce_event_queue[index]) = evt;
+ __this_cpu_write(mce_event_queue[index], evt);
/* Queue irq work to process this event later. */
irq_work_queue(&mce_event_process_work);
@@ -208,11 +208,11 @@
* For now just print it to console.
* TODO: log this error event to FSP or nvram.
*/
- while (__get_cpu_var(mce_queue_count) > 0) {
- index = __get_cpu_var(mce_queue_count) - 1;
+ while (__this_cpu_read(mce_queue_count) > 0) {
+ index = __this_cpu_read(mce_queue_count) - 1;
machine_check_print_event_info(
- &__get_cpu_var(mce_event_queue[index]));
- __get_cpu_var(mce_queue_count)--;
+ this_cpu_ptr(&mce_event_queue[index]));
+ __this_cpu_dec(mce_queue_count);
}
}
Index: linux/arch/powerpc/kernel/time.c
===================================================================
--- linux.orig/arch/powerpc/kernel/time.c 2014-02-03 14:16:29.028411561 -0600
+++ linux/arch/powerpc/kernel/time.c 2014-02-03 14:27:26.854657482 -0600
@@ -531,7 +531,7 @@
*next_tb = ~(u64)0;
if (evt->event_handler)
evt->event_handler(evt);
- __get_cpu_var(irq_stat).timer_irqs_event++;
+ __this_cpu_inc(irq_stat.timer_irqs_event);
} else {
now = *next_tb - now;
if (now <= DECREMENTER_MAX)
@@ -539,7 +539,7 @@
/* We may have raced with new irq work */
if (test_irq_work_pending())
set_dec(1);
- __get_cpu_var(irq_stat).timer_irqs_others++;
+ __this_cpu_inc(irq_stat.timer_irqs_others);
}
#ifdef CONFIG_PPC64
Index: linux/arch/powerpc/mm/hugetlbpage-book3e.c
===================================================================
--- linux.orig/arch/powerpc/mm/hugetlbpage-book3e.c 2014-02-03 14:16:29.038411354 -0600
+++ linux/arch/powerpc/mm/hugetlbpage-book3e.c 2014-02-03 14:22:04.551394132 -0600
@@ -33,7 +33,7 @@
ncams = mfspr(SPRN_TLB1CFG) & TLBnCFG_N_ENTRY;
- index = __get_cpu_var(next_tlbcam_idx);
+ index = this_cpu_read(next_tlbcam_idx);
/* Just round-robin the entries and wrap when we hit the end */
if (unlikely(index == ncams - 1))
next prev parent reply other threads:[~2014-02-14 20:23 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 ` [PATCH 28/48] irqchips: Replace __this_cpu_ptr uses Christoph Lameter
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 ` Christoph Lameter [this message]
2014-02-14 20:19 ` [PATCH 41/48] sparc: " 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=20140214201908.182470299@linux.com \
--to=cl@linux.com \
--cc=akpm@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=peterz@infradead.org \
--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