lkml.org 
[lkml]   [2014]   [Feb]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[PATCH 33/48] MIPS: Replace __get_cpu_var uses in FPU emulator.

From: David Daney <david.daney@cavium.com>

The use of __this_cpu_inc() requires a fundamental integer type, so
change the type of all the counters to unsigned long, which is the
same width they were before, but not wrapped in local_t.

Signed-off-by: David Daney <david.daney@cavium.com>
Signed-off-by: Christoph Lameter <cl@linux.com>
---
arch/mips/include/asm/fpu_emulator.h | 14 +++++++-------
arch/mips/math-emu/cp1emu.c | 6 +++---
2 files changed, 10 insertions(+), 10 deletions(-)

Index: linux/arch/mips/include/asm/fpu_emulator.h
===================================================================
--- linux.orig/arch/mips/include/asm/fpu_emulator.h 2014-02-03 13:25:55.311884622 -0600
+++ linux/arch/mips/include/asm/fpu_emulator.h 2014-02-03 13:25:55.311884622 -0600
@@ -30,12 +30,12 @@
#ifdef CONFIG_DEBUG_FS

struct mips_fpu_emulator_stats {
- local_t emulated;
- local_t loads;
- local_t stores;
- local_t cp1ops;
- local_t cp1xops;
- local_t errors;
+ unsigned long emulated;
+ unsigned long loads;
+ unsigned long stores;
+ unsigned long cp1ops;
+ unsigned long cp1xops;
+ unsigned long errors;
};

DECLARE_PER_CPU(struct mips_fpu_emulator_stats, fpuemustats);
@@ -43,7 +43,7 @@
#define MIPS_FPU_EMU_INC_STATS(M) \
do { \
preempt_disable(); \
- __local_inc(&__get_cpu_var(fpuemustats).M); \
+ __this_cpu_inc(fpuemustats.M); \
preempt_enable(); \
} while (0)

Index: linux/arch/mips/math-emu/cp1emu.c
===================================================================
--- linux.orig/arch/mips/math-emu/cp1emu.c 2014-02-03 13:25:55.311884622 -0600
+++ linux/arch/mips/math-emu/cp1emu.c 2014-02-03 13:25:55.311884622 -0600
@@ -2140,13 +2140,13 @@
static int fpuemu_stat_get(void *data, u64 *val)
{
int cpu;
- unsigned long sum = 0;
+ u64 sum = 0;
for_each_online_cpu(cpu) {
struct mips_fpu_emulator_stats *ps;
- local_t *pv;
+ unsigned long *pv;
ps = &per_cpu(fpuemustats, cpu);
pv = (void *)ps + (unsigned long)data;
- sum += local_read(pv);
+ sum += *pv;
}
*val = sum;
return 0;


\
 
 \ /
  Last update: 2014-02-14 23:41    [W:0.272 / U:1.312 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site