On 10/08/2012 08:43 AM, Alexander Duyck wrote: > On 10/06/2012 10:57 AM, Andi Kleen wrote: >> BTW __pa used to be a simple subtraction, the if () was just added to >> handle the few call sites for x86-64 that do __pa(&text_symbol). >> Maybe we should just go back to the old __pa_symbol() for those cases, >> then __pa could be the simple subtraction it used to was again >> and it could be inlined and everyone would be happy. >> >> -Andi > What I am probably looking at doing is splitting the function in two as > you suggest where we have a separate function for the text symbol case. > I will probably also take the 32 bit approach and add a debug version > that is still a separate function for uses such as determining if we > have any callers who should be using __pa_symbol instead of __pa. > > Thanks, > > Alex I gave up on trying to split __pa and __pa_symbol. Yesterday I realized there is way too much code that depends on the two resolving to the same function, and many cases are pretty well hidden. Instead I just mailed out a patch that inlines an optimized version of __phys_addr. I figure it is probably as good as it is going to get without having to rip the entire x86 portion of the kernel apart to separate uses of __pa and __pa_symbol. Thanks, Alex _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel