Re: [RFC/PATCH] Make powerpc64 use __thread for per-cpu variables

From: Segher Boessenkool
Date: Wed May 10 2006 - 19:17:27 EST


How do you plan to address the compiler optimizing
...
Across the schedule, we may have changed cpus, making the cached
address invalid.

Per-cpu variables need to be accessed only with preemption
disabled. And the preemption enable/disable operations
provide a compiler memory barrier.

No, Richard has a point, it's not the value that is the concern, it's
the address, which gcc could assume is still valid after a barrier.
Drat.

Would an asm clobber of GPR13 in the schedule routines (or a wrapper
for them, or whatever) work?


Segher

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/