On 10/10/2012 06:58 AM, Andi Kleen wrote: >> The second change was to streamline the code by making use of the carry flag >> on an add operation instead of performing a compare on a 64 bit value. The >> advantage to this is that it allows us to reduce the overall size of the >> call. >> On my Xeon E5 system the entire __phys_addr inline call consumes 30 bytes and >> 5 instructions. I also applied similar logic to the debug version of the >> function. My testing shows that the debug version of the function with this >> patch applied is slightly faster than the non-debug version without the >> patch. > Looks good. Thanks. > > Probably should still split the callers though (or have a pa_symbol_fast > that does not do the check) > > -Andi
I hadn't thought of that. I couldn't drop support for symbols from __pa, but I can get away with dropping support for regular addresses from __pa_symbol. I just submitted a patch to drop support for standard virtual addresses from __pa_symbol. I will also submit some patches tomorrow morning for cleaning up a number of places I had found where we were calling __pa/virt_to_phys when we should have been calling __pa_symbol. 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/