cvs commit: src/sys/dev/em if_em.c if_em.h
yongari at FreeBSD.org
Mon Nov 21 04:17:44 GMT 2005
yongari 2005-11-21 04:17:43 UTC
FreeBSD src repository
sys/dev/em if_em.c if_em.h
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
Revision Changes Path
1.88 +121 -83 src/sys/dev/em/if_em.c
1.40 +6 -3 src/sys/dev/em/if_em.h
More information about the cvs-src