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.