freebsd-dev/sys/modules/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
..
cxgb Greatly simplify cxgb by removing almost all of the custom mbuf management logic 2009-06-19 23:34:32 +00:00
cxgb_t3fw Update cxgb include paths to not require prefixing with dev/cxgb 2008-09-23 03:16:54 +00:00
iw_cxgb After r193232 rt_tables in vnet.h are no longer indirectly dependent on 2009-06-08 19:57:35 +00:00
toecore Fix world 2008-11-14 01:56:11 +00:00
tom Remove opt_mac.h generation for various kernel modules that no longer 2009-06-06 17:01:44 +00:00
Makefile This main goals of this project are: 2008-12-15 06:10:57 +00:00