[PATCH 9/9] powerpc: optimise csum_partial() call when len is constant
Scott Wood
scottwood at freescale.com
Fri Oct 23 14:32:10 AEDT 2015
On Tue, 2015-09-22 at 16:34 +0200, Christophe Leroy wrote:
> csum_partial is often called for small fixed length packets
> for which it is suboptimal to use the generic csum_partial()
> function.
>
> For instance, in my configuration, I got:
> * One place calling it with constant len 4
> * Seven places calling it with constant len 8
> * Three places calling it with constant len 14
> * One place calling it with constant len 20
> * One place calling it with constant len 24
> * One place calling it with constant len 32
>
> This patch renames csum_partial() to __csum_partial() and
> implements csum_partial() as a wrapper inline function which
> * uses csum_add() for small 16bits multiple constant length
> * uses ip_fast_csum() for other 32bits multiple constant
> * uses __csum_partial() in all other cases
>
> Signed-off-by: Christophe Leroy <christophe.leroy at c-s.fr>
> ---
> arch/powerpc/include/asm/checksum.h | 80 ++++++++++++++++++++++++++--------
> ---
> arch/powerpc/lib/checksum_32.S | 4 +-
> arch/powerpc/lib/checksum_64.S | 4 +-
> arch/powerpc/lib/ppc_ksyms.c | 2 +-
> 4 files changed, 62 insertions(+), 28 deletions(-)
Benchmarks?
-Scott
More information about the Linuxppc-dev
mailing list