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

From: Jeremy Fitzhardinge
Date: Fri Dec 08 2006 - 16:35:06 EST


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
-
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/