Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 2 Apr 2004 15:36:49 -0800 (PST)
From:      Ruslan Ermilov <ru@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/pci if_ste.c if_stereg.h
Message-ID:  <200404022336.i32Nan3A042861@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
ru          2004/04/02 15:36:49 PST

  FreeBSD src repository

  Modified files:
    sys/pci              if_ste.c if_stereg.h 
  Log:
  Performance tuning.
  
  Moved the RX ring resyncing code to ste_rxeoc(), and only run it
  if we were asked to POLL_AND_CHECK_STATUS, under DEVICE_POLLING.
  (This significantly reduces the CPU load.)
  
  Improved the RX ring resyncing code by re-checking if the head
  is still empty before doing resyncing.  This mostly affects the
  DEVICE_POLLING mode, where we run this code periodically.  We
  could start checking with an empty head (well, an empty ring
  even), and after doing a few iterations, the chip might write
  a few entries, including the head, and we would bogusly consider
  this case as requiring resyncing.  On a test box, this reduced
  the number of resyncs done by a factor of 10.
  
  In ste_txeof(sc), only reset the watchdog timer to zero when
  the TX list is completely empty.
  
  Converted ste_tx_prev_idx to a pointer -- faster.
  
  Removed some bitrot.
  
  Revision  Changes    Path
  1.68      +44 -38    src/sys/pci/if_ste.c
  1.14      +1 -3      src/sys/pci/if_stereg.h



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