freebsd-nq/sys/dev/cxgb
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
..
common Greatly simplify cxgb by removing almost all of the custom mbuf management logic 2009-06-19 23:34:32 +00:00
sys Greatly simplify cxgb by removing almost all of the custom mbuf management logic 2009-06-19 23:34:32 +00:00
ulp After r193232 rt_tables in vnet.h are no longer indirectly dependent on 2009-06-08 19:57:35 +00:00
bin2h.pl Update the Chelsio driver to the latest bits from Chelsio 2009-03-10 19:22:45 +00:00
cxgb_adapter.h Greatly simplify cxgb by removing almost all of the custom mbuf management logic 2009-06-19 23:34:32 +00:00
cxgb_config.h Add backward compatibility ifdefs for non-multiq kernels 2008-11-23 07:30:07 +00:00
cxgb_include.h - Remove default NIC dependency on ulp headers 2008-09-24 01:19:08 +00:00
cxgb_ioctl.h Update the Chelsio driver to the latest bits from Chelsio 2009-03-10 19:22:45 +00:00
cxgb_main.c Greatly simplify cxgb by removing almost all of the custom mbuf management logic 2009-06-19 23:34:32 +00:00
cxgb_offload.c Minor updates to the Chelsio driver, including removing an LOR. 2009-03-23 19:58:26 +00:00
cxgb_offload.h - Remove default NIC dependency on ulp headers 2008-09-24 01:19:08 +00:00
cxgb_osdep.h Greatly simplify cxgb by removing almost all of the custom mbuf management logic 2009-06-19 23:34:32 +00:00
cxgb_sge.c Greatly simplify cxgb by removing almost all of the custom mbuf management logic 2009-06-19 23:34:32 +00:00
cxgb_t3fw.c Update the Chelsio driver to the latest bits from Chelsio 2009-03-10 19:22:45 +00:00
cxgb_t3fw.h Update the Chelsio driver to the latest bits from Chelsio 2009-03-10 19:22:45 +00:00
t3b_protocol_sram.h move remaining binaries in to blob headers 2008-02-26 23:05:05 +00:00
t3b_tp_eeprom.h move remaining binaries in to blob headers 2008-02-26 23:05:05 +00:00
t3c_protocol_sram.h Update the Chelsio driver to the latest bits from Chelsio 2009-03-10 19:22:45 +00:00
t3c_tp_eeprom.h Update the Chelsio driver to the latest bits from Chelsio 2009-03-10 19:22:45 +00:00
t3cdev.h MFSVN: 2008-05-05 01:41:53 +00:00