cvs commit: src/sys/dev/em if_em.c if_em.h

Pyun YongHyeon yongari at FreeBSD.org
Mon Nov 21 04:17:44 GMT 2005


yongari     2005-11-21 04:17:43 UTC

  FreeBSD src repository

  Modified files:
    sys/dev/em           if_em.c if_em.h 
  Log:
  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 mailing list