Date: Mon, 2 May 2011 22:49:43 +0000 (UTC) From: Pyun YongHyeon <yongari@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/dev/bge if_bge.c if_bgereg.h Message-ID: <201105022250.p42Mo0RH032726@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
yongari 2011-05-02 22:49:43 UTC FreeBSD src repository Modified files: (Branch: RELENG_8) sys/dev/bge if_bge.c if_bgereg.h Log: SVN rev 221351 on 2011-05-02 22:49:43Z by yongari MFC r220368: Add initial jumbo frame support for BCM5714/BCM5715 and BCM5780. Unlike other controllers which have more advanced jumbo support, these controllers have one send ring, one standard receive producer ring and one receive return ring. In order to receive jumbo frames on the controllers, driver now will increase Rx buffer size to 9k. Two Rx modes are supported on these controllers and I chose standard Rx BDs over extended Rx BDs. The extended Rx BD mode allows up to 4 segmentations for each Rx BDs such that kernel does not have to allocate large buffer of contiguous memory for receiving. The extended Rx BD mode is already used on controllers that have separate jumbo receive ring. However, using extended Rx BDs on BCM5714/BCM5715/BCM5780 reduces the number of Rx BDs to 256 entries which in turn may reduce the performance. Also UMA backed page allocator for jumbo frame returns contiguous memory so using extended Rx BD has no advantage on FreeBSD unless highly customized local allocator implemented in driver is used. To use jumbo buffers in standard receive ring, Rx buffer allocation handler was changed to allocate MJUM9BYTES sized mbuf. PR: kern/155192 Tested by: Vijay Singh <vijju.singh <> gmail dot com> Submitted by: mjacob (initial version) Revision Changes Path 1.226.2.50 +37 -17 src/sys/dev/bge/if_bge.c 1.83.2.27 +1 -0 src/sys/dev/bge/if_bgereg.h
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201105022250.p42Mo0RH032726>