Re: proxy_pda was Re: What was in the x86 merge for .20

Jeremy Fitzhardinge
2006-12-08T21:34:44Z

Andi Kleen wrote:
> The trouble is when it's CSEd it actually causes worse code because
> a register is tied up. That might not be worth the advantage of having it?
>

I think so, definitely; without proxy_pda you need to make it asm
volatile+mem clobber, which completely eliminates all optimisation
opportunities; in general the proxy_pda allows gcc to CSE and reorder
pda accesses. I guess in this case the memory writes inhibited the
overall CSE of current, so its just making do by CSEing the address.

> Hmm, maybe marking it volatile would help? Arkadiusz, does the following patch
> help?
>

Might work. But doesn't this make the pointed-at proxy_pda volatile,
not the proxy_pda pointer itself? Should it be something like (volatile
__T * volatile)?

J