Thread (22 messages) 22 messages, 6 authors, 2016-03-05

Re: [PATCH 9/9] powerpc: optimise csum_partial() call when len is constant

flat view

From: Scott Wood <hidden>
Date: 2015-10-23 03:32:24
Also in: lkml, netdev

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 <redacted>
---
 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help