]> git.proxmox.com Git - mirror_qemu.git/commit
net: optimize checksum computation
authorLadi Prosek <lprosek@redhat.com>
Fri, 6 Jan 2017 08:08:53 +0000 (09:08 +0100)
committerJason Wang <jasowang@redhat.com>
Fri, 20 Jan 2017 02:36:38 +0000 (10:36 +0800)
commitd5aa3e6e0cd6259003790769c448d4fbb5b5c810
tree5594b798a8766fcb589c8f7a4fbd42253b7bba86
parentd4aa431f945bbbff75129af0cd0b155f988150ba
net: optimize checksum computation

Very simple loop optimization with a significant performance impact.

Microbenchmark results, modern x86-64:

buffer size | speed up
------------+---------
1500        | 1.7x
64          | 1.5x
8           | 1.15x

Microbenchmark results, POWER7:

buffer size | speed up
------------+---------
1500        | 5x
64          | 3.3x
8           | 1.13x

There is a lot of room for further improvement at the expense of
code complexity - aligned multibyte reads, LE/BE considerations,
architecture-specific optimizations, etc. This patch still keeps
things simple and readable.

Signed-off-by: Ladi Prosek <lprosek@redhat.com>
Reviewed-by: Dmitry Fleytman <dmitry@daynix.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
net/checksum.c