Re: [PATCH 19/31] MIPS: Replace __get_cpu_var uses in FPU emulator.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



+ linux-mips@xxxxxxxxxxxxxx, as that is the main MIPS patch reviewing list.

On 06/20/2014 12:31 PM, Christoph Lameter wrote:
From: David Daney<david.daney@xxxxxxxxxx>

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@xxxxxxxxxx>
Signed-off-by: Christoph Lameter<cl@xxxxxxxxx>
---
  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-06-16 09:15:42.199326017 -0500
+++ linux/arch/mips/include/asm/fpu_emulator.h	2014-06-16 09:17:42.776959733 -0500
@@ -33,17 +33,17 @@
  #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;
-	local_t ieee754_inexact;
-	local_t ieee754_underflow;
-	local_t ieee754_overflow;
-	local_t ieee754_zerodiv;
-	local_t ieee754_invalidop;
+	unsigned long emulated;
+	unsigned long loads;
+	unsigned long stores;
+	unsigned long cp1ops;
+	unsigned long cp1xops;
+	unsigned long errors;
+	unsigned long ieee754_inexact;
+	unsigned long ieee754_underflow;
+	unsigned long ieee754_overflow;
+	unsigned long ieee754_zerodiv;
+	unsigned long ieee754_invalidop;
  };

  DECLARE_PER_CPU(struct mips_fpu_emulator_stats, fpuemustats);
@@ -51,7 +51,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 of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux