freebsd-dev/sys/dev/cxgb/common
Kip Macy 3f345a5d09 Greatly simplify cxgb by removing almost all of the custom mbuf management logic
- remove mbuf iovec - useful, but adds too much complexity when isolated to
   the driver

- remove driver private caching - insufficient benefit over UMA to justify
  the added complexity and maintenance overhead

- remove separate logic for managing multiple transmit queues, with the
  new drbr routines the control flow can be made to much more closely resemble
  legacy drivers

- remove dedicated service threads, with per-cpu callouts one can get the same
  benefit much more simply by registering a callout 1 tick in the future if there
  are still buffered packets

- remove embedded mbuf usage - Jeffr's changes will (I hope) soon be integrated
  greatly reducing the overhead of using kernel APIs for reference counting
  clusters

- add hysteresis to descriptor coalescing logic

- add coalesce threshold sysctls to allow users to decide at run-time
  between optimizing for forwarding / UDP or optimizing for TCP

- add once per second watchdog to effectively close the very rare races
  occurring from coalescing

- incorporate Navdeep's changes to the initialization path required to
  convert port and adapter locks back to ordinary mutexes (silencing BPF
  LOR complaints)

- enable prefetches in get_packet and tx cleaning

Reviewed by:	navdeep@
MFC after:	2 weeks
2009-06-19 23:34:32 +00:00
..
cxgb_ael1002.c Integrate three changes from Chelsio. 2009-05-21 15:08:03 +00:00
cxgb_common.h Integrate three changes from Chelsio. 2009-05-21 15:08:03 +00:00
cxgb_ctl_defs.h Update firmware version check 2008-11-12 04:45:09 +00:00
cxgb_firmware_exports.h - update firmware to 5.0 2008-02-23 01:06:17 +00:00
cxgb_mc5.c Update cxgb include paths to not require prefixing with dev/cxgb 2008-09-23 03:16:54 +00:00
cxgb_mv88e1xxx.c Update cxgb include paths to not require prefixing with dev/cxgb 2008-09-23 03:16:54 +00:00
cxgb_regs.h - update firmware to 5.0 2008-02-23 01:06:17 +00:00
cxgb_sge_defs.h - fix qset to port binding as a proper fix for the problems encountered on the 4-port 2007-09-09 01:28:03 +00:00
cxgb_t3_cpl.h Greatly simplify cxgb by removing almost all of the custom mbuf management logic 2009-06-19 23:34:32 +00:00
cxgb_t3_hw.c Integrate three changes from Chelsio. 2009-05-21 15:08:03 +00:00
cxgb_tcb.h - update firmware to 5.0 2008-02-23 01:06:17 +00:00
cxgb_tn1010.c Update cxgb include paths to not require prefixing with dev/cxgb 2008-09-23 03:16:54 +00:00
cxgb_version.h - Integrate 1.133 vendor driver changes 2008-03-18 03:55:12 +00:00
cxgb_vsc7323.c Update cxgb include paths to not require prefixing with dev/cxgb 2008-09-23 03:16:54 +00:00
cxgb_vsc8211.c Update cxgb include paths to not require prefixing with dev/cxgb 2008-09-23 03:16:54 +00:00
cxgb_xgmac.c Update the Chelsio driver to the latest bits from Chelsio 2009-03-10 19:22:45 +00:00
jhash.h