Date: Fri, 15 Apr 2005 15:00:32 +0900 From: Pyun YongHyeon <yongari@rndsoft.co.kr> To: John-Mark Gurney <gurney_j@resnet.uoregon.edu> Cc: freebsd-sparc64@freebsd.org Subject: Re: em(4) patch Message-ID: <20050415060032.GF7393@michelle.rndsoft.co.kr> In-Reply-To: <20050415054627.GR56487@funkthat.com> References: <20050414092608.GB2855@michelle.rndsoft.co.kr> <20050414192749.GO56487@funkthat.com> <20050415023902.GC7393@michelle.rndsoft.co.kr> <20050415030935.GQ56487@funkthat.com> <20050415042731.GD7393@michelle.rndsoft.co.kr> <20050415051112.GE7393@michelle.rndsoft.co.kr> <20050415054627.GR56487@funkthat.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Apr 14, 2005 at 10:46:27PM -0700, John-Mark Gurney wrote: > > With your changes JUMBO frames work here. This should also fix PR75794. > > It would be really great if your changes could be comitted. > > I was working on trying to get some performance measurements by using > if_re... But I haven't been able to get if_re to work on sparc64... > I don't have hardware that use re(4) so don't know current status of re(4) on sparc64. :-( > Though if em doesn't need realignment for normal frames, why do we need > them for jumbo? > Look at: if_em.c(stock version) line 2605, 2592 if (mp == NULL) { 2593 mp = m_getcl(M_DONTWAIT, MT_DATA, M_PKTHDR); 2594 if (mp == NULL) { 2595 adapter->mbuf_cluster_failed++; 2596 return(ENOBUFS); 2597 } 2598 mp->m_len = mp->m_pkthdr.len = MCLBYTES; 2599 } else { 2600 mp->m_len = mp->m_pkthdr.len = MCLBYTES; 2601 mp->m_data = mp->m_ext.ext_buf; 2602 mp->m_next = NULL; 2603 } 2604 2605 if (ifp->if_mtu <= ETHERMTU) { 2606 m_adj(mp, ETHER_ALIGN); 2607 } 2608 2609 rx_buffer = &adapter->rx_buffer_area[i]; If mtu is greater than ETHERMTU em(4) does not align it. When JUMBO frame is used the frame would occupy several RX descriptors and it can't use simple m_adj. -- Regards, Pyun YongHyeon http://www.kr.freebsd.org/~yongari | yongari@freebsd.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050415060032.GF7393>