History log of /freebsd-10.3-release/sys/dev/cxgb/sys/uipc_mvec.c
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 296373 04-Mar-2016 marius

- Copy stable/10@296371 to releng/10.3 in preparation for 10.3-RC1
builds.
- Update newvers.sh to reflect RC1.
- Update __FreeBSD_version to reflect 10.3.
- Update default pkg(8) configuration to use the quarterly branch.

Approved by: re (implicit)

# 256281 10-Oct-2013 gjb

Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


# 251263 02-Jun-2013 alc

Remove unnecessary #include's.


# 243857 04-Dec-2012 glebius

Mechanically substitute flags from historic mbuf allocator with
malloc(9) flags in sys/dev.


# 207673 05-May-2010 joel

Switch to our preferred 2-clause BSD license.

Approved by: kmacy


# 195006 25-Jun-2009 np

mvec routines should have no knowledge of the SG engine.

Reviewed by: kmacy
Approved by: gnn (mentor)


# 194563 21-Jun-2009 kmacy

fix !x86 cxgb compile


# 194553 20-Jun-2009 kmacy

- fix dma map handling for !x86 case
- fix allocation failure handing in refill_fl


# 194521 19-Jun-2009 kmacy

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


# 185537 02-Dec-2008 kmacy

The pkthdr field is flowid not rss_hash


# 185536 02-Dec-2008 kmacy

- fix multiqueue conditional
- don't leak mbuf tags in the non-conditional case

Found by: Navdeep Parhar


# 185535 02-Dec-2008 kmacy

integrate use after free fixes from private branch

Found by: kkenn@


# 185509 01-Dec-2008 kmacy

null out m_next when marshalling a packet


# 183339 25-Sep-2008 kmacy

fix insta-panic:
- determine which ext_arg offsets to use based on the version number

Submitted by: Chelsio Inc.
MFC after: 1 day


# 183292 23-Sep-2008 kmacy

Update cxgb include paths to not require prefixing with dev/cxgb

Submitted by: Chelsio Inc.


# 176472 23-Feb-2008 kmacy

- update firmware to 5.0
- 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


# 175378 16-Jan-2008 kmacy

remove superfluous debug printfs


# 175375 16-Jan-2008 kmacy

Fix mbuf leak caused by freeing packet zone clusters but not their 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"


# 175369 15-Jan-2008 jhb

Use '%zd' to print PIO_LEN since it involves a size_t (via sizeof()) to
appease the tinderbox on 32-bit platforms.

Tested on: amd64, i386


# 175347 15-Jan-2008 kmacy

- Simplify mb_free_ext_fast
- 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


# 175340 15-Jan-2008 kmacy

- move WR_LEN in to cxgb_adapter.h add PIO_LEN to make intent clearer
- 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


# 175303 13-Jan-2008 kmacy

remove unused code


# 175208 10-Jan-2008 kmacy

should always free when refcount is 1


# 175172 09-Jan-2008 kmacy

don't decrement ref count below 1 for EXT_PACKET


# 175121 07-Jan-2008 kmacy

Fix mvec code to handle the case of the packet zone
this was missed in the initial import


# 174640 16-Dec-2007 kmacy

Update the buffer management support code needed by the tcp offload module


# 170076 28-May-2007 kmacy

When building cxgb as a module make include paths relative to the driver's root.
This will make it possible to build the module out of tree against an older src tree.

MFC after: 3 days


# 169990 25-May-2007 kmacy

update license headers


# 168888 20-Apr-2007 kmacy

Eliminate CID 1842 by comparing against (type != EXT_MBUF) => refcnt != NULL


# 168886 20-Apr-2007 kmacy

Fix memory leak in m_collapse (CID 1843)

Found by: Coverity
Submitted by: jhb


# 168770 15-Apr-2007 kmacy

PHYS_TO_VM_PAGE requires explicit vm_page.h include on sparc64


# 168767 15-Apr-2007 mjacob

Use %j and args cast to uintmax_t to print bus_addr_t && length args.


# 168760 15-Apr-2007 kmacy

Add pmap includes needed by i386


# 168750 15-Apr-2007 kmacy

suck in more of busdma to enable more efficient mappings
kill redundant INVARIANTS check


# 168748 15-Apr-2007 kmacy

Implement ZERO_COPY_SOCKETS check in a way that doesn't make LINT unhappy


# 168736 14-Apr-2007 kmacy

add reference count pointer to mbuf iovec
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


# 168540 09-Apr-2007 kmacy

throw sun4v into the check while we're at it


# 168539 09-Apr-2007 kmacy

busdma tags are opaque on all architectures except sparc64
for now simply don't compile/use on sparc64


# 168496 08-Apr-2007 kmacy

add busdma function for mapping mbuf iovecs
change m_collapse to return an error code


# 168490 08-Apr-2007 kmacy

Add driver private mbuf iovec support routines