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>
