From: Alexander Bluhm Subject: Re: igc(4): fix recv. jumbo frames To: David Gwynne Cc: Jan Klemkow , tech@openbsd.org, Theo de Raadt Date: Sun, 11 Aug 2024 13:39:32 +0200 On Sat, Aug 10, 2024 at 02:53:58PM +1000, David Gwynne wrote: > On Fri, Aug 09, 2024 at 08:38:37PM +0200, Alexander Bluhm wrote: > > > > On sparc64 it does not panic. Jumbo frames are not well supported > > on this machine, I guess some bugs in the IOMMU implementation. > > Other drivers also have problems with jumbo on sparc64. Only part > > of my tests pass. This is not a regression. > > does this help? Maybe. A lot of my network tests on sparc64 fail. Others are not stable and results flip around. http://bluhm.genua.de/netlink/results/2024-08-04T11:37:11Z/netlink.html This diff might fix some corner cases. Or it is just coincidence that some tests passed in this run. Jumbo in gneneral looks quite broken, igc is a bit worse than other drivers on sparc64. bluhm > Index: machdep.c > =================================================================== > RCS file: /cvs/src/sys/arch/sparc64/sparc64/machdep.c,v > diff -u -p -r1.218 machdep.c > --- machdep.c 22 May 2024 05:51:49 -0000 1.218 > +++ machdep.c 10 Aug 2024 04:51:22 -0000 > @@ -993,7 +993,7 @@ _bus_dmamap_load_mbuf(bus_dma_tag_t t, b > > if (i > 0 && pa == (segs[i - 1].ds_addr + > segs[i - 1].ds_len) && ((segs[i - 1].ds_len + incr) > - < map->_dm_maxsegsz)) { > + <= map->_dm_maxsegsz)) { > /* Hey, waddyaknow, they're contiguous */ > segs[i - 1].ds_len += incr; > continue;