On Thu, May 22, 2025 at 01:31:28PM +0200, Claudio Jeker wrote: > On Thu, May 22, 2025 at 04:50:10AM -0600, Jan Klemkow wrote: > > CVSROOT: /cvs > > Module name: src > > Changes by: j...@cvs.openbsd.org 2025/05/22 04:50:10 > > > > Modified files: > > sys/dev/pci : if_ix.c > > > > Log message: > > ix(4): use 4k clusters in LRO mode to avoid m_defrag calls > > > > ok bluhm > > Are you sure this works? ix(4) is as fucked up as most Intel Ethernet > devices and do not handle ETHER_ALIGN well. This is why those drivers use > the mcl2k2 pool which is oversized.
I have tested it on sparc64 and the alignment seems to be correct. As claudio@ pointed out, the hardware only uses 3K of the 4K - 2 mbuf clusters due to rounding errors. But for my socket splicing use case this is enough to avoid m_defrag calls. bluhm