summaryrefslogtreecommitdiffstats
path: root/sys/dev/cxgb/sys
Commit message (Collapse)AuthorAgeFilesLines
* Remove unnecessary #include's.alc2013-06-021-5/+0
|
* Mechanically substitute flags from historic mbuf allocator withglebius2012-12-041-1/+1
| | | | malloc(9) flags in sys/dev.
* - Updated TOE support in the kernel.np2012-06-191-21/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Stateful TCP offload drivers for Terminator 3 and 4 (T3 and T4) ASICs. These are available as t3_tom and t4_tom modules that augment cxgb(4) and cxgbe(4) respectively. The cxgb/cxgbe drivers continue to work as usual with or without these extra features. - iWARP driver for Terminator 3 ASIC (kernel verbs). T4 iWARP in the works and will follow soon. Build-tested with make universe. 30s overview ============ What interfaces support TCP offload? Look for TOE4 and/or TOE6 in the capabilities of an interface: # ifconfig -m | grep TOE Enable/disable TCP offload on an interface (just like any other ifnet capability): # ifconfig cxgbe0 toe # ifconfig cxgbe0 -toe Which connections are offloaded? Look for toe4 and/or toe6 in the output of netstat and sockstat: # netstat -np tcp | grep toe # sockstat -46c | grep toe Reviewed by: bz, gnn Sponsored by: Chelsio communications. MFC after: ~3 months (after 9.1, and after ensuring MFC is feasible)
* Switch to our preferred 2-clause BSD license.joel2010-05-052-46/+40
| | | | Approved by: kmacy
* mvec routines should have no knowledge of the SG engine.np2009-06-252-12/+10
| | | | | Reviewed by: kmacy Approved by: gnn (mentor)
* fix !x86 cxgb compilekmacy2009-06-211-1/+1
|
* - fix dma map handling for !x86 casekmacy2009-06-202-10/+11
| | | | - fix allocation failure handing in refill_fl
* Greatly simplify cxgb by removing almost all of the custom mbuf management logickmacy2009-06-193-899/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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
* The pkthdr field is flowid not rss_hashkmacy2008-12-021-1/+1
|
* - fix multiqueue conditionalkmacy2008-12-021-2/+2
| | | | | | - don't leak mbuf tags in the non-conditional case Found by: Navdeep Parhar
* integrate use after free fixes from private branchkmacy2008-12-021-54/+44
| | | | Found by: kkenn@
* null out m_next when marshalling a packetkmacy2008-12-011-1/+3
|
* - bump __FreeBSD version to reflect added buf_ring, memory barriers,kmacy2008-11-221-30/+0
| | | | | | | | | | | | | | | | | and ifnet functions - add memory barriers to <machine/atomic.h> - update drivers to only conditionally define their own - add lockless producer / consumer ring buffer - remove ring buffer implementation from cxgb and update its callers - add if_transmit(struct ifnet *ifp, struct mbuf *m) to ifnet to allow drivers to efficiently manage multiple hardware queues (i.e. not serialize all packets through one ifq) - expose if_qflush to allow drivers to flush any driver managed queues This work was supported by Bitgravity Inc. and Chelsio Inc.
* fix insta-panic:kmacy2008-09-252-0/+9
| | | | | | | - determine which ext_arg offsets to use based on the version number Submitted by: Chelsio Inc. MFC after: 1 day
* Update cxgb include paths to not require prefixing with dev/cxgbkmacy2008-09-232-12/+0
| | | | Submitted by: Chelsio Inc.
* White space cleanups to bring closer to RELENG_7kmacy2008-09-162-6/+1
|
* reduce the size of the jumbo ring on i386 and disable pcpu cluster cachingkmacy2008-03-311-0/+5
|
* - update firmware to 5.0kmacy2008-02-234-7/+35
| | | | | | | | | | | | | | | | | - add support for T3C - add DDP support (zero-copy receive) - fix TOE transmit of large requests - fix shutdown so that sockets don't remain in CLOSING state indefinitely - register listeners when an interface is brought up after tom is loaded - fix setting of multicast filter - enable link at device attach - exit tick handler if shutdown is in progress - add helper for logging TCB - add sysctls for dumping transmit queues - note that TOE wxill not be MFC'd until after 7.0 has been finalized MFC after: 3 days
* Re-enable pcpu caching by default make sysctl R/Wkmacy2008-01-191-1/+1
|
* - remove bogus_imm counterkmacy2008-01-171-18/+22
| | | | | - disable pcpu cluster cache by default until reference counting is handled correctly for held clusters - can be re-enable by sysctl
* promote ath_defrag to m_collapse (and retire private+unusedsam2008-01-171-14/+0
| | | | | | | m_collapse from cxgb) Reviewed by: pyun, jhb, kmacy MFC after: 2 weeks
* remove superfluous debug printfskmacy2008-01-161-3/+0
|
* Fix mbuf leak caused by freeing packet zone clusters but not their ↵kmacy2008-01-162-26/+38
| | | | | | | | associated mbufs - Track packet zone mbufs separately from other mbufs - free packet zone buffers via m_free rather than trying to manage the refcount as with clusters - its refcount and management seems to be "special"
* Use '%zd' to print PIO_LEN since it involves a size_t (via sizeof()) tojhb2008-01-151-1/+1
| | | | | | appease the tinderbox on 32-bit platforms. Tested on: amd64, i386
* - Simplify mb_free_ext_fastkmacy2008-01-152-28/+50
| | | | | | | | | | | - increase asserts for mbuf accounting - track outstanding mbufs (maps very closely to leaked) - actually only create one thread per port if !multiq Oddly enough this fixes the use after free - move txq_segs to stack in t3_encap - add checks that pidx doesn't move pass cidx - simplify mbuf free logic in collapse mbufs routine
* - move WR_LEN in to cxgb_adapter.h add PIO_LEN to make intent clearerkmacy2008-01-152-47/+16
| | | | | | | | | | | | - move cxgb_tx_common in to cxgb_multiq.c and rename to cxgb_tx - move cxgb_tx_common dependencies - further simplify cxgb_dequeue_packet for the non-multiqueue case - only launch one service thread per port in the non-multiq case - remove dead cleaning code from cxgb_sge.c - simplify PIO case substantially in by returning directly from mbuf collapse and just using m_copydata - remove gratuitous m_gethdr in the rx path - clarify freeing of mbufs in collapse
* remove unused codekmacy2008-01-131-1/+0
|
* should always free when refcount is 1kmacy2008-01-101-1/+3
|
* - make 9k clusters the default unless a tunable is setkmacy2008-01-101-2/+7
| | | | | | | | | | | | - return the error from cxgb_tx_common so that when an error is hit we dont spin forever in the taskq thread - remove unused rxsd_ref - simplify header_offset calculation for embedded mbuf headers - fix memory leak by making sure that mbuf header initialization took place - disable printf's for stalled queue, don't do offload/ctrl queue restart when tunnel queue is restarted - add more diagnostic information about the txq state - add facility to dump the actual contents of the hardware queue using sysctl
* don't decrement ref count below 1 for EXT_PACKETkmacy2008-01-091-1/+1
|
* EXT_PACKET is one of the valid mbuf typeskmacy2008-01-091-0/+1
|
* Fix mvec code to handle the case of the packet zonekmacy2008-01-072-4/+16
| | | | this was missed in the initial import
* Make TCP offload work on HEAD (modulo negative interaction between sbcompresskmacy2007-12-172-3/+6
| | | | | | | | | and t3_push_frames). - Import latest changes to cxgb_main.c and cxgb_sge.c from toestack p4 branch - make driver local copy of tcp_subr.c and tcp_usrreq.c and override tcp_usrreqs so TOE can also functions on versions with unmodified TCP - add cxgb back to the build
* Update the buffer management support code needed by the tcp offload modulekmacy2007-12-164-550/+845
|
* - integrate most recent changes from vendor branch and upgrade to firmware ↵kmacy2007-07-171-1/+6
| | | | | | | | | | | | revision 4.5.5 - add filter support - further improvements for T304 - recover gracefully from spurious immediate packets Approved by: re(blanket) Supported by: Chelsio MFC after: 3 days
* When building cxgb as a module make include paths relative to the driver's root.kmacy2007-05-282-7/+12
| | | | | | This will make it possible to build the module out of tree against an older src tree. MFC after: 3 days
* update license headerskmacy2007-05-252-6/+6
|
* (MFp4)kmacy2007-05-251-0/+86
| | | | | | | | | | - upgrade to reflect state of 1.0.0.86 - move from firmware rev 3.2 to 4.0.0 - import driver bits for offload functionality - remove binary distribution clause from top level files as it runs counter to the intent of purely supporting the hardware MFC after: 3 days
* Eliminate CID 1842 by comparing against (type != EXT_MBUF) => refcnt != NULLkmacy2007-04-201-1/+2
|
* Fix memory leak in m_collapse (CID 1843)kmacy2007-04-201-4/+7
| | | | | Found by: Coverity Submitted by: jhb
* PHYS_TO_VM_PAGE requires explicit vm_page.h include on sparc64kmacy2007-04-151-0/+1
|
* Use %j and args cast to uintmax_t to print bus_addr_t && length args.mjacob2007-04-151-2/+2
|
* Add pmap includes needed by i386kmacy2007-04-151-0/+3
|
* suck in more of busdma to enable more efficient mappingskmacy2007-04-151-58/+164
| | | | kill redundant INVARIANTS check
* Implement ZERO_COPY_SOCKETS check in a way that doesn't make LINT unhappykmacy2007-04-151-5/+6
|
* add reference count pointer to mbuf ioveckmacy2007-04-142-161/+381
| | | | | | | | implement robust version of m_collapse add support for sf_buf add fix for m_iovappend add calls to m_sanity under INVARIANTS fix m_freem_vec to correctly travese the mbuf iovec chain
* Fix m_freem_vec() to actually traverse the mbuf chain. This avoidsjhb2007-04-111-0/+1
| | | | | | | double free's and an infinite loop. CID: 1834 Found by: Coverity Prevent (tm)
* throw sun4v into the check while we're at itkmacy2007-04-091-1/+1
|
* busdma tags are opaque on all architectures except sparc64kmacy2007-04-091-1/+2
| | | | for now simply don't compile/use on sparc64
* add busdma function for mapping mbuf iovecskmacy2007-04-082-14/+121
| | | | change m_collapse to return an error code
OpenPOWER on IntegriCloud