Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 20 Oct 2001 10:44:13 -0700 (PDT)
From:      Matt Jacob <mjacob@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/pci if_wx.c if_wxreg.h if_wxvar.h
Message-ID:  <200110201744.f9KHiD988741@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
mjacob      2001/10/20 10:44:13 PDT

  Modified files:        (Branch: RELENG_4)
    sys/pci              if_wx.c if_wxreg.h if_wxvar.h 
  Log:
  MFC:
  
  1. Add wx_txint_delay as a tunable (defaults to 5000 now, or ~5ms) and switch
  to using delayed TXDW interrupts. Since the chip continues to reload the
  TIDV with this value for each descriptor written back, this allows continued
  deferral of the actual interrupt until the last packet completes (assuming
  that 5ms between multiple packets transmitting is reasonable).
  
  2. Add two other SYSCTL entities:
  
  hw.wx.dump_stats
  hw.wx.clear_stats
  
  to be used, hackey hackey, to get the watchdog routine to dump/clear
  the current softc statistics.
  
  Usage would be:
  
  	sysctl -w hw.wx.dump_stats=UNIT
  
  to cause the current stats to be dumped for UNIT.
  
  3. Attempt to clean up wx_detach routine so we don't panic. Well, things
  still panic, but given that the code is just like other NIC drivers,
  I suspect it's actually something elsewhere, like e1000phy, that's actually
  blowing up.
  
  4. Skip the entire test for runt packets- after doing somet thinking
  and experimenting, I believe that the chip only doesn't like it if
  the whole frame to xmit is < 16 bytes- each TFD can be some fragment
  of that. This should improve performance a chunk because of all of the
  (14 byte ETHERHEADER + DATA) mbuf chains.
  
  5. Keep track of total frame length. Try not to xmit an odd byte frame-
  this is supposed to get around some dumb Cisco switch problems.
  
  6. On the last packet, also set Interrupt Delay && Report Packet Sent
  (see #1 above)
  
  7. Attempt to do xmit garbage collection *first* in order to avoid setting
  IFF_OACTIVE if at all possible.
  
  Revision  Changes    Path
  1.5.2.11  +150 -30   src/sys/pci/if_wx.c
  1.3.2.6   +2 -2      src/sys/pci/if_wxreg.h
  1.4.2.6   +7 -4      src/sys/pci/if_wxvar.h


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200110201744.f9KHiD988741>