Re: [PATCH 29/40] mips: Replace __get_cpu_var uses

From: David Daney
Date: Thu Dec 19 2013 - 18:08:17 EST


This is a multi-part message in MIME format.On 12/19/2013 01:10 PM, Christoph Lameter wrote:
On Thu, 19 Dec 2013, David Daney wrote:

16:07:58.244398747 -0600
@@ -43,7 +43,7 @@ DECLARE_PER_CPU(struct mips_fpu_emulator
#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)


Something seems to be incorrect in this bit.

Hrmm.. yes this is a local_t so the this_cpu_inc would not work unless
fpuemustats is defined differently.


See the attached patch. Feel free to include it as part of your patch set.

I tested it on a 64-bit OCTEON system. I think it will work on 32-bit systems as well.

Use

__local_inc(this_cpu_ptr(fpuemustats.M);


No, I couldn't get various incantations of that to work either.

instead until then.