RE: [net-next PATCH 4/5] be2net: get rid of AMAP_SET/GET macros in TX path
From: Perla, Sathya <hidden>
Date: 2012-09-28 07:05:28
From: Perla, Sathya <hidden>
Date: 2012-09-28 07:05:28
-----Original Message----- From: David Miller [mailto:davem@davemloft.net]quoted
endianness is handled even in this patch. The call to wrb_fill_hdr() is followed by be_dws_cpu_to_le() to handle this.That swap_dws() thing is the most inefficient thing I've ever seen. Instead of being able to benefit from compile time optimizations such as byte swaps of constants, you do everything hidden from the compiler so nothing gets optimized.
I'd like to clarify that swap_dws() was being used/needed even in the old code. The AMAP_SET_BITS() macros (that this patch removes) did nothing to take care of endian byte-swapping. They are just calculating the mask/shift values of each bit-field and setting the value in host-endian. But, as you are convinced that this patch doesn't provide much value, I'll just drop it and re-send the patch set....