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
..
2009-06-16 23:02:46 +00:00
2008-05-19 01:53:47 +00:00
2008-04-07 11:26:13 +00:00
2006-07-27 19:12:49 +00:00
2005-02-25 06:59:56 +00:00
2009-06-05 18:44:36 +00:00
2005-10-18 06:11:08 +00:00
2006-02-26 17:51:22 +00:00
2005-10-05 05:26:03 +00:00
2009-06-05 18:44:36 +00:00
2009-05-30 22:04:18 +00:00
2009-03-26 19:15:31 +00:00
2006-03-12 19:06:06 +00:00
2008-05-22 21:53:15 +00:00
2008-05-27 01:54:45 +00:00
2008-11-06 10:53:35 +00:00
2009-02-07 18:49:42 +00:00
2006-12-13 02:37:48 +00:00
2007-03-11 15:20:04 +00:00
2005-09-20 06:48:55 +00:00
2005-05-10 12:02:18 +00:00
2006-06-18 05:04:42 +00:00
2008-05-05 20:19:33 +00:00
2008-08-07 20:51:51 +00:00
2008-11-05 15:04:03 +00:00
2006-07-25 00:45:55 +00:00
2007-06-29 05:23:15 +00:00
2005-08-10 04:01:21 +00:00