[PATCH v9 0/5] riscv: Add fine-tuned checksum functions
Charlie Jenkins
charlie at rivosinc.com
Wed Nov 1 10:06:26 PDT 2023
On Wed, Nov 01, 2023 at 11:50:46AM +0000, Conor Dooley wrote:
> On Tue, Oct 31, 2023 at 05:18:50PM -0700, Charlie Jenkins wrote:
> > Each architecture generally implements fine-tuned checksum functions to
> > leverage the instruction set. This patch adds the main checksum
> > functions that are used in networking.
> >
> > This patch takes heavy use of the Zbb extension using alternatives
> > patching.
> >
> > To test this patch, enable the configs for KUNIT, then CHECKSUM_KUNIT
> > and RISCV_CHECKSUM_KUNIT.
> >
> > I have attempted to make these functions as optimal as possible, but I
> > have not ran anything on actual riscv hardware. My performance testing
> > has been limited to inspecting the assembly, running the algorithms on
> > x86 hardware, and running in QEMU.
> >
> > ip_fast_csum is a relatively small function so even though it is
> > possible to read 64 bits at a time on compatible hardware, the
> > bottleneck becomes the clean up and setup code so loading 32 bits at a
> > time is actually faster.
> >
> > Relies on https://lore.kernel.org/lkml/20230920193801.3035093-1-evan@rivosinc.com/
>
> I coulda sworn I reported build issues against the v8 of this series
> that are still present in this v9. For example:
> https://patchwork.kernel.org/project/linux-riscv/patch/20231031-optimize_checksum-v9-3-ea018e69b229@rivosinc.com/
>
> Cheers,
> Conor.
You did, and I fixed the build issues. This is another instance of how
Patchwork reports the results of the previous build before the new build
completes. Patchwork was very far behind so it took around 15 hours for
the result to be ready. There are some miscellaneous warnings in random
drivers that I don't think can be attributed to this patch.
- Charlie
More information about the linux-riscv
mailing list