cvs commit: src/sys/dev/nge if_nge.c if_ngereg.h

Bill Paul wpaul at FreeBSD.org
Tue Sep 14 15:06:25 PDT 2004


wpaul       2004-09-14 22:06:25 UTC

  FreeBSD src repository

  Modified files:
    sys/dev/nge          if_nge.c if_ngereg.h 
  Log:
  Make two major changes to this code to address some stability/corruption
  problems:
  
  1) Add locking for SMP, code provided by Alan Cox
  2) While testing Alan's patches, I observed serious problems with
     the jumbo buffer allocation code (machine crashed twice), so I gutted
     it and rewrote the receive handler to use multiple chained descriptors.
     Each RX descriptor gets a single 2K cluster, and the chip will fill in
     as many as it needs to hold the complete packet.
  
  User reports that this corrects the data corruption issues previously
  observed and discussed on -current.
  
  Note that this driver still needs to be hit with the busdma stick.
  I intend to inflict said beating in the near future.
  
  MFC after: 1 week
  
  Revision  Changes    Path
  1.66      +172 -251  src/sys/dev/nge/if_nge.c
  1.10      +66 -48    src/sys/dev/nge/if_ngereg.h


More information about the cvs-src mailing list