On Mon, 2021-03-29 at 09:52 -0400, Willem de Bruijn wrote: > > > That breaks the checksum-and-copy optimization when delivering to > > > local sockets. I wonder if that is a regression. > > > > The conversion to CHECKSUM_UNNECESSARY happens since > > commit 573e8fca255a27e3573b51f9b183d62641c47a3d. > > > > Even the conversion to CHECKSUM_PARTIAL happens independently from this > > series, since commit 6f1c0ea133a6e4a193a7b285efe209664caeea43. > > > > I don't see a regression here ?!? > > I mean that UDP packets with local destination socket and no tunnels > that arrive with CHECKSUM_NONE normally benefit from the > checksum-and-copy optimization in recvmsg() when copying to user. > > If those packets are now checksummed during GRO, that voids that > optimization, and the packet payload is now touched twice.
The 'now' part confuses me. Nothing in this patch or this series changes the processing of CHECKSUM_NONE UDP packets with no tunnel. I do see checksum validation in the GRO engine for CHECKSUM_NONE UDP packet prior to this series. I *think* the checksum-and-copy optimization is lost since 573e8fca255a27e3573b51f9b183d62641c47a3d. Regards, Paolo