]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
busdma cleanup for em(4).
authoryongari <yongari@FreeBSD.org>
Mon, 21 Nov 2005 04:17:43 +0000 (04:17 +0000)
committeryongari <yongari@FreeBSD.org>
Mon, 21 Nov 2005 04:17:43 +0000 (04:17 +0000)
commit85fff8c580f83d33cbff47991e253eb22ef67a23
treea32aeb53a275b3874430deb5b5313d090b449aa3
parent6e1f984ebcb6955fe5450e23f3da26c327e69d8d
busdma cleanup for em(4).
 - don't force busdma to pre-allocate bounce pages for parent tag.
 - use system supplied roundup2 macro instead of rolling its own version.
 - TX/RX decriptor length should be multiple of 128. There is no
   no need to expand the size with the multiple of 4096.
 - don't create/destroy DMA maps in TX/RX handlers. Use pre-allocated
   DMA maps. Since creating DMA maps on sparc64 is time consuming
   operations(resource mananger overhead), this change should boost
   performance on sparc64. I could get > 2x speedup on Ultra60.
 - TX/RX descriptors could be aligned on 128 boundary. Aligning them
   on PAGE_SIZE is waste of resource.
 - don't blindly create TX DMA tag with size of MCLBYTES * 8. The size
   is only valid under jumbo frame environments. Instead of using the
   hardcoded value, re-compute necessary size on the fly.
 - RX side bus_dmamap_load_mbuf_sg(9) support.
 - remove unused macro EM_ROUNDUP and constant EM_MMBA.

Reviewed by: scottl
Tested by: glebius
sys/dev/em/if_em.c
sys/dev/em/if_em.h