On Thu, May 22, 2025 at 10:26:19PM +0900, Alexander Bluhm wrote:
> 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.

This is a terrible workaround for something that should be fixed on the TX
side of the interfaces. Somebody will fiddle with that one day and screw
it up. I really dislike introducing such hacks.

-- 
:wq Claudio

Reply via email to