On Wed, Nov 01, 2023 at 10:06:26AM -0700, Charlie Jenkins wrote: > 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@xxxxxxxxxxxx/ > > > > 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@xxxxxxxxxxxx/ > 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. :clown_face: > There are some miscellaneous warnings in random > drivers that I don't think can be attributed to this patch. Yeah, there sometimes are warnings that seem spurious when you touch a bunch of header files. I'm not really sure how to improve on that, since it was newly introduced. My theory is that how we do a build of commit A, then commit A~1 and then commit A again & take the difference between the 2nd and 3rd builds (which should both be partial rebuilds) is not as symmetrical as I might've thought and is the source of those seemingly unrelated issues that come up from time to time.
Attachment:
signature.asc
Description: PGP signature