Messages in this thread | | | Date | Fri, 08 Dec 2006 13:34:37 -0800 | From | Jeremy Fitzhardinge <> | Subject | Re: proxy_pda was Re: What was in the x86 merge for .20 |
| |
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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |