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 [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/