On Wed, Dec 31, 2014 at 11:15:24AM +0100, Martin Husemann wrote: > On Wed, Dec 31, 2014 at 10:05:22AM +0000, David Laight wrote: > > In this case I suspect removing __constfunc and making the > > asm volatile will force correct sequencing. > > Check the commit history. > Can we make only the hypverisor call __constfunc?
Looks like the two changes are fighting in different directions. One is trying to get the compiler to cache the result of the function by calling it once at the top, the other to ensure it only called when some other condition is true. You can't have it both ways. Maybe that one function shoukd be caching the result of the CPU_IS_* macro. Or maybe save the relevant register value in memory during initialisation. David -- David Laight: da...@l8s.co.uk