On 11/16/2012 03:06 PM, H. Peter Anvin wrote: > On 11/16/2012 02:45 PM, Steven Rostedt wrote: >> >> #define __pa(x) __phys_addr((unsigned long)(x)) >> #define __pa_symbol(x) __pa(__phys_reloc_hide((unsigned long)(x))) >> >> I'm confused. __pa_symbol() just calls __pa() with some macro magic to >> its parameter. How is this a performance improvement? >> > > One of the earlier patches in this series changes __pa_symbol() to > avoid the conditional hidden inside __phys_addr(), since by definition > a symbol can only be on one side of that branch. > > -hpa >
In addition to being a bit faster the code is also a bit smaller since it can combine the the constants from __va() and __pa_symbol() as the new __pa_symbol is an inline in the non-debug case. Thanks, Alex -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/