#
267654 |
|
19-Jun-2014 |
gjb |
Copy stable/9 to releng/9.3 as part of the 9.3-RELEASE cycle.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
248078 |
|
08-Mar-2013 |
marius |
MFC: r243857 (partial)
Mechanically substitute flags from historic mbuf allocator with malloc(9) flags in sys/dev.
|
#
242369 |
|
30-Oct-2012 |
np |
MFC r242087:
Initialize the response queue mutex a bit earlier to avoid a panic that occurs if t3_sge_alloc_qset fails and then t3_free_qset attempts to destroy an uninitialized mutex.
|
#
237925 |
|
01-Jul-2012 |
np |
MFC r237832, r237436, r237439, r237463, r237512, r237587, r237799, r237819, r237831.
r237832: cxgb(4): IPv6 rx/tx hw checksum, IPv6 TSO and LRO too.
r237436: cxgbe(4): update to firmware interface 1.5.2.0; updates to shared code.
r237439: Do not read registers with read side effects while performing a register dump for cxgbetool.
r237463: Do not allocate extra vectors when adapter is not TOE capable (or toecaps have been disallowed by the user).
r237512: Better way to determine the status page length and rx pad boundary.
r237587: Allow cxgbe(4) running within a VM to attach to its devices that have been exported via PCI passthrough.
r237799: cxgbe(4): support for IPv6 hardware checksumming (rx and tx).
r237819: cxgbe(4): support for IPv6 TSO and LRO.
r237831: - Assign (don't OR) the CSUM_XXX bits to csum_flags in the rx checksum code. - Fix TSO/TSO4 mixup. - Add IFCAP_LINKSTATE to the available/enabled capabilities.
|
#
237920 |
|
01-Jul-2012 |
np |
Backport just the sys/{dev,modules}/cxgb{,e}/ parts of r237263, and then disable the TOE and iWARP modules in the Makefiles (they won't compile without the rest of r237263).
This reduces diffs between the cxgb/cxgbe drivers in head and 9 and makes it easy to MFC other fixes to 9.
|
#
237916 |
|
01-Jul-2012 |
np |
MFC r231317, r235963 (bz@), r234831, r234833.
r231317 Add IPv6 TSO (including TSO+VLAN) support to cxgb(4).
r235963 (bz@) Allow LRO to work on IPv6 as well. Fix the module Makefile to at least properly inlcude opt_inet6.h and allow builds without INET or INET6.
r234831 Make sure that the firmware version is available in dev.t4nex.X.firmware_version even if the driver fails to attach properly. At least it'll be easy to tell what we're dealing with.
r234833: Change the default to not use packet counters to generate rx interrupts. Rely solely on the timer based mechanism.
Update man page to reflect this change.
|
#
233024 |
|
16-Mar-2012 |
scottl |
MFC 232854,232874,232882,232883,232886 for bus_get_dma_tag()
|
#
231597 |
|
13-Feb-2012 |
np |
MFC r231116: Remove if_start from cxgb and cxgbe.
|
#
225736 |
|
22-Sep-2011 |
kensmith |
Copy head to stable/9 as part of 9.0-RELEASE release cycle.
Approved by: re (implicit)
|
#
219946 |
|
23-Mar-2011 |
np |
t3_free_sge_resources should be given the number of qsets it needs to free.
MFC after: 1 week
|
#
217916 |
|
26-Jan-2011 |
mdf |
Explicitly wire the user buffer rather than doing it implicitly in sbuf_new_for_sysctl(9). This allows using an sbuf with a SYSCTL_OUT drain for extremely large amounts of data where the caller knows that appropriate references are held, and sleeping is not an issue.
Inspired by: rwatson
|
#
217616 |
|
19-Jan-2011 |
mdf |
Introduce signed and unsigned version of CTLTYPE_QUAD, renaming existing uses. Rename sysctl_handle_quad() to sysctl_handle_64().
|
#
217586 |
|
19-Jan-2011 |
mdf |
sysctl(8) should use the CTLTYPE to determine the type of data when reading. (This was already done for writing to a sysctl). This requires all SYSCTL setups to specify a type. Most of them are now checked at compile-time.
Remove SYSCTL_*X* sysctl additions as the print being in hex should be controlled by the -x flag to sysctl(8).
Succested by: bde
|
#
217321 |
|
12-Jan-2011 |
mdf |
sysctl(9) cleanup checkpoint: amd64 GENERIC builds cleanly.
Commit the cxgb driver piece.
|
#
212750 |
|
16-Sep-2010 |
mdf |
Re-add r212370 now that the LOR in powerpc64 has been resolved:
Add a drain function for struct sysctl_req, and use it for a variety of handlers, some of which had to do awkward things to get a large enough SBUF_FIXEDLEN buffer.
Note that some sysctl handlers were explicitly outputting a trailing NUL byte. This behaviour was preserved, though it should not be necessary.
Reviewed by: phk (original patch)
|
#
212572 |
|
13-Sep-2010 |
mdf |
Revert r212370, as it causes a LOR on powerpc. powerpc does a few unexpected things in copyout(9) and so wiring the user buffer is not sufficient to perform a copyout(9) while holding a random mutex.
Requested by: nwhitehorn
|
#
212370 |
|
09-Sep-2010 |
mdf |
Add a drain function for struct sysctl_req, and use it for a variety of handlers, some of which had to do awkward things to get a large enough FIXEDLEN buffer.
Note that some sysctl handlers were explicitly outputting a trailing NUL byte. This behaviour was preserved, though it should not be necessary.
Reviewed by: phk
|
#
209840 |
|
08-Jul-2010 |
np |
Eliminate ext_intr_task. The "slow" interrupt handler is already running on the adapter's task queue. Just do what the task does instead of enqueueing it.
MFC after: 3 days
|
#
209116 |
|
12-Jun-2010 |
np |
cxgb(4): add knob to get packet timestamps from the hardware.
The T3 ASIC can provide an incoming packet's timestamp instead of its RSS hash. The timestamp is just a counter running off the card's clock. With a 175MHz clock an increment represents ~5.7ns and the 32 bit value wraps around in ~25s.
# sysctl -d dev.cxgbc.0.pkt_timestamp dev.cxgbc.0.pkt_timestamp: provide packet timestamp instead of connection hash
# sysctl -d dev.cxgbc.0.core_clock dev.cxgbc.0.core_clock: core clock frequency (in KHz) # sysctl dev.cxgbc.0.core_clock dev.cxgbc.0.core_clock: 175000
|
#
207688 |
|
05-May-2010 |
np |
Don't ring the tx doorbell for every frame when we know more frames will follow. Adjust the freelist and response queue doorbells too.
Discussed with: kmacy
|
#
206109 |
|
02-Apr-2010 |
np |
Increase response queue size to avoid starvation, add a counter to track it when it does occur.
|
#
205950 |
|
30-Mar-2010 |
np |
Multiple fixes related to queue set sizing and resources:
- Only the tunnelq (TXQ_ETH) requires a buf_ring, an ifq, and the watchdog/timer callouts. Do not allocate these for the other tx queues.
- Use 16k jumbo clusters only on offload capable cards by default.
- Do not allocate a full tx ring for the offload queue if the card is not offload capable.
- Slightly better freelist size calculation.
- Fix nmbjumbo4 typo, remove unneeded global variables.
MFC after: 3 days
|
#
205949 |
|
30-Mar-2010 |
np |
Fix signed/unsigned mix-up that allowed txq->in_use to grow beyond txq->size.
|
#
205948 |
|
30-Mar-2010 |
np |
Fix tx drop statistics.
MFC after: 3 days
|
#
205947 |
|
30-Mar-2010 |
np |
Fix build with "nooptions INET"
Requested by: bz MFC after: 3 days
|
#
204348 |
|
26-Feb-2010 |
np |
Support IFCAP_VLANHWTSO in cxgb(4). It works with or without vlanhwtag. While here, remove old DPRINTFs and tidy up the capability code a bit.
|
#
204274 |
|
24-Feb-2010 |
np |
There is no need to test __FreeBSD_version for features that have been around for a long time now (7.1-ish or even earlier); assume they are present. These includes MSI, TSO, LRO, VLAN, INTR_FILTERS, FIRMWARE, etc.
Also, eliminate some dead code and clean up in other places as part of this quick once-over.
MFC after: 1 week
|
#
204271 |
|
23-Feb-2010 |
np |
Accessing an mbuf after it has been handed off to the hardware is a bad race as it could already have been tx'd and freed by that time. Place the bpf tap just _before_ writing the gen bit.
This fixes a panic when running tcpdump on a cxgb interface.
|
#
203834 |
|
13-Feb-2010 |
mlaier |
Fix drbr and altq interaction: - introduce drbr_needs_enqueue that returns whether the interface/br needs an enqueue operation: returns true if altq is enabled or there are already packets in the ring (as we need to maintain packet order) - update all drbr consumers - fix drbr_flush - avoid using the driver queue (IFQ_DRV_*) in the altq case as the multiqueue consumer does not provide enough protection, serialize altq interaction with the main queue lock - make drbr_dequeue_cond work with altq
Discussed with: kmacy, yongari, jfv MFC after: 4 weeks
|
#
202678 |
|
20-Jan-2010 |
np |
Complain if freelist queue sizes are significantly less than desired.
MFC after: 1 day
|
#
201758 |
|
07-Jan-2010 |
mbr |
Remove extraneous semicolons, no functional changes.
Submitted by: Marc Balmer <marc@msys.ch> MFC after: 1 week
|
#
197043 |
|
09-Sep-2009 |
np |
There is no need to log anything for a ctrlq stall or restart. These are normal events.
Approved by: gnn (mentor) MFC after: 1 month
|
#
195512 |
|
09-Jul-2009 |
np |
Fix cxgb(4) panic with jumbo frames.
Reviewed by: kmacy Approved by: re (kib), gnn (mentor)
|
#
195006 |
|
25-Jun-2009 |
np |
mvec routines should have no knowledge of the SG engine.
Reviewed by: kmacy Approved by: gnn (mentor)
|
#
194554 |
|
20-Jun-2009 |
kmacy |
fix typo in conditional
|
#
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
|
#
194259 |
|
15-Jun-2009 |
sam |
r193336 moved ifq_detach to if_free which broke if_alloc followed by if_free (w/o doing if_attach); move ifq_attach to if_alloc and rename ifq_attach/detach to ifq_init/ifq_delete to better identify their purpose
Reviewed by: jhb, kmacy
|
#
193925 |
|
10-Jun-2009 |
gnn |
Add a missing error statistic, the number of FCS errors on receive.
Reviewed by: jhb MFC after: 1 day
|
#
192540 |
|
21-May-2009 |
gnn |
Integrate three changes from Chelsio.
1) Add a sysctl that will say what type of PHYs exist on the card. 2) Fix a bug that occurs when an AEL 2005 PHY resets without a transciever in the card. 3) Unify the PHY link detection code.
Obtained from: Navdeep Parhar MFC after: 10 days
|
#
190880 |
|
10-Apr-2009 |
kmacy |
Import "flowid" support for serializing flows across transmit queues
Reviewed by: rwatson and jeli
|
#
189643 |
|
10-Mar-2009 |
gnn |
Update the Chelsio driver to the latest bits from Chelsio
Firmware upgraded to 7.1.0 (from 5.0.0). T3C EEPROM and SRAM added; Code to update eeprom/sram fixed. fl_empty and rx_fifo_ovfl counters can be observed via sysctl. Two new cxgbtool commands to get uP logic analyzer info and uP IOQs Synced up with Chelsio's "common code" (as of 03/03/09)
Submitted by: Navdeep Parhar at Chelsio Reviewed by: gnn MFC after: 2 weeks
|
#
185507 |
|
01-Dec-2008 |
kmacy |
don't manually track statistics
|
#
185165 |
|
22-Nov-2008 |
kmacy |
- enable multiple transmit queues - invert sense of hw.cxgb.singleq tunable to hw.cxgb.multiq - don't wake up transmitting thread by default - add per tx queue ifaltq to handle ALTQ - remove several unused functions in cxgb_multiq.c - add several sysctls: multiq_tx_enable, coalesce_tx_enable, and wakeup_tx_thread - this obsoletes the hw.cxgb.snd_queue_len as ifq is replaced by a buf_ring
|
#
185162 |
|
22-Nov-2008 |
kmacy |
- bump __FreeBSD version to reflect added buf_ring, memory barriers, 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.
|
#
183967 |
|
17-Oct-2008 |
kmacy |
Track number of packets transmitted and number of packets received
PR: 125806 MFC after: 3 days
|
#
183559 |
|
02-Oct-2008 |
kmacy |
Fix bug in LRO on T304 whereby a packet could be sent to the wrong interface's ifp.
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.
|
#
183289 |
|
23-Sep-2008 |
kmacy |
Allow cxgb to be unified across versions by making newer features conditional
Submitted by: Chelsio Inc MFC after: 3 days
|
#
183062 |
|
16-Sep-2008 |
kmacy |
White space cleanups to bring closer to RELENG_7
|
#
183059 |
|
15-Sep-2008 |
kmacy |
Remove some dead code along with gratuitous differences between HEAD and 7
|
#
182882 |
|
08-Sep-2008 |
kmacy |
Fix issue with recovering from transient jumbo mbuf shortage.
Submitted by: Chelsio Inc. MFC after: 3 days
|
#
182679 |
|
02-Sep-2008 |
kmacy |
Import ioctl updates for latest rev of cxgbtool
Obtained from: Chelsio Inc. MFC after: 3 days
|
#
181653 |
|
12-Aug-2008 |
kmacy |
Fix runt TSO packet issue.
Obtained from: Chelsio Inc. MFC after: 1 week
|
#
181652 |
|
12-Aug-2008 |
kmacy |
Add LRO and MAC statistics to exported sysctls.
Obtained from: Chelsio Inc. MFC after: 1 week
|
#
181616 |
|
11-Aug-2008 |
kmacy |
Remove cxgb private lro implementation and switch to using system implementation.
Obtained from: Chelsio Inc. MFC after: 1 week
|
#
180583 |
|
18-Jul-2008 |
kmacy |
import vendor fixes to cxgb
|
#
177464 |
|
20-Mar-2008 |
kmacy |
pay attention to default cluster limits when sizing receive queues
|
#
176563 |
|
25-Feb-2008 |
keramida |
Spell 'overwriting' correctly in a KASSERT() message.
|
#
176472 |
|
22-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
|
#
175872 |
|
01-Feb-2008 |
phk |
Give MEXTADD() another argument to make both void pointers to the free function controlable, instead of passing the KVA of the buffer storage as the first argument.
Fix all conventional users of the API to pass the KVA of the buffer as the first argument, to make this a no-op commit.
Likely break the only non-convetional user of the API, after informing the relevant committer.
Update the mbuf(9) manual page, which was already out of sync on this point.
Bump __FreeBSD_version to 800016 as there is no way to tell how many arguments a CPP macro needs any other way.
This paves the way for giving sendfile(9) a way to wait for the passed storage to have been accessed before returning.
This does not affect the memory layout or size of mbufs.
Parental oversight by: sam and rwatson.
No MFC is anticipated.
|
#
175711 |
|
27-Jan-2008 |
kmacy |
fix DISABLE_MBUF_IOVEC case by initializing mbuf header completely
|
#
175504 |
|
19-Jan-2008 |
kmacy |
Re-enable pcpu caching by default make sysctl R/W
|
#
175415 |
|
17-Jan-2008 |
kmacy |
- remove bogus_imm counter - disable pcpu cluster cache by default until reference counting is handled correctly for held clusters - can be re-enable by sysctl
|
#
175378 |
|
16-Jan-2008 |
kmacy |
remove superfluous debug printfs
|
#
175375 |
|
15-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
|
#
175302 |
|
13-Jan-2008 |
kmacy |
style nit
|
#
175224 |
|
11-Jan-2008 |
kmacy |
Be more aggressive about tx cleaning - when multiples streams were running the tx queue could fill up and stop getting cleaned.
|
#
175223 |
|
10-Jan-2008 |
kmacy |
If we're not running with multiqueue enabled we need to wait to acquire the rspq lock. Not doing so was causing us to skip re-enabling the interrupt.
- remove duplicate credits sysctl - add support for dumping hardware context of the txq - decrement budget_left when we break out of the process_responses loop
|
#
175209 |
|
10-Jan-2008 |
kmacy |
Add support for selectively dumping the state of the hardware response queue. Change ordering of a couple of types.
|
#
175200 |
|
09-Jan-2008 |
kmacy |
- make 9k clusters the default unless a tunable is set - 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
|
#
174708 |
|
17-Dec-2007 |
kmacy |
Make TCP offload work on HEAD (modulo negative interaction between sbcompress 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
|
#
174672 |
|
16-Dec-2007 |
kmacy |
Use the vm include convention of busdma
|
#
174670 |
|
16-Dec-2007 |
kmacy |
Don't globally include mvec.h its only needed by cxgb_sge.c
|
#
174639 |
|
16-Dec-2007 |
kmacy |
Sanitize of a routine that is going away
|
#
174626 |
|
15-Dec-2007 |
kmacy |
Import updated support code for the TOM (tcp offload module).
|
#
172101 |
|
09-Sep-2007 |
kmacy |
Add back in support for normal mbuf chaining on RX under DISABLE_MBUF_IOVEC
Approved by: re(blanket) Supported by: Chelsio
|
#
172096 |
|
08-Sep-2007 |
kmacy |
- fix qset to port binding as a proper fix for the problems encountered on the 4-port - fix the use after free seen when sending packets small enough to fit as an immediate and bpf peers are present - update to firmware rev 4.7 along with various small vendor fixes
Supported by: Chelsio Approved by: re (blanket) MFC after: 3 days
|
#
171978 |
|
25-Aug-2007 |
kmacy |
Fixes for 4 port and small packet optimization
- remove cpl->iff panic - we can't know the port number from the rspq on the 4-port - pick the ifnet based on the interface in the CPL header - switch to using qset 0 for egress on the 4-port for now - may change when we start using RSS - move ether_ifdetach to before the port lock gets deinitialized to avoid hang in the case where there are BPF peers (cxgb_ioctl is called indirectly when BPF peers are present) - don't call t3_mac_reset if multiport is set, this was causing tx errors by misconfiguring the MAC on the 4-port - change V_TXPKT_INTF to use txpkt_intf as the interfaces are not contiguous - free the mbuf immediately in the case where the payload is small enough to be copied into the rspq - only update the coalesce timer if for a queue if packets were taken off of it - add in missed 20ms DELAY in initializaton vsc8211
- prompt MFC as this only applies to the 4-port which is currently completely broken - OK'd by kensmith
Supported by: Chelsio Approved by: re (blanket) MFC after: 0 days
|
#
171868 |
|
17-Aug-2007 |
kmacy |
forward port signedness fixes from RELENG_6 fix compile error for case where MSI_SUPPORTED not defined
Approved by: re (blanket)
|
#
171804 |
|
10-Aug-2007 |
kmacy |
White space cleanups
Approved by: re (blanket)
|
#
171803 |
|
10-Aug-2007 |
kmacy |
- In all structures other than port info port is a pointer to a port info, make the code less confusing by renaming the port number to port_id
Approved by: re (blanket)
|
#
171471 |
|
17-Jul-2007 |
kmacy |
- integrate most recent changes from vendor branch and upgrade to firmware 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
|
#
171469 |
|
17-Jul-2007 |
kmacy |
- Increase descriptors per call to start - enqueue per-txq task - fix per-txq task initialization
Approved by: re (blanket)
|
#
171335 |
|
10-Jul-2007 |
kmacy |
MFp4 122896 - reduce cpu usage by as much as 25% (40% -> 30) by doing txq reclaim more efficiently - use mtx_trylock when trying to grab the lock to avoid spinning during long encap loop - add per-txq reclaim task - if mbufs were successfully re-claimed try another pass - track txq overruns with sysctl
Approved by: re (blanket)
|
#
170869 |
|
17-Jun-2007 |
kmacy |
- switch adapter and port lock over to using sx so that resources can be allocated atomically - add debug macros for printing lock initialization / teardown - add buffers to port_info and adapter to allow each lock to have a unique name - destroy mutexes initialized by cxgb_offload_init - remove recursive calls to ADAPTER_LOCK - move callout_drain calls so that they don't occur with the lock held - ensure that only as many qsets as are needed are initialized and destroyed
MFC after: 3 days Sponsored by: Chelsio Inc.
|
#
170789 |
|
15-Jun-2007 |
kmacy |
Fix build warnings Submitted by: mjacob@
|
#
170654 |
|
13-Jun-2007 |
kmacy |
- import new common code for the T304 - update to firmware version 4.1.0
- switch over to standard method for initializing cdevs (contributed by scottl@) - break out timer_reclaim_task to be per-port - move msix teardown into separate function - fix bus_setup_intr for msi-x for the multi-port case so that msi-x resources are not corrupted on unload - handle 10/100/1000 base-T media and auto negotiation - bind qset to cpu even for singleq case - white space cleanups - remove recursive PORT_LOCK - move mtu setting to separate function - stop and re-init port when changing mtu - replace all direct references to m_data with calls to mtod - handle attach failure better by not trying to de-initialize taskqueues when they have not been allocated - no longer default to jumbo frames
Sponsored by: Chelsio MFC after: 3 days
|
#
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
|
#
170038 |
|
27-May-2007 |
kmacy |
Tuning for small packet handling - Double the number of descriptors that a single call to send can use - Quadruple the number of descriptors that can be reclaimed per pass - only run reclaim twice per second - increase coalesce timer from 3.5us to 5us
fix printf warning on 64-bit platforms
|
#
170007 |
|
27-May-2007 |
kmacy |
set IFF_OACTIVE to avoid hangs when the tx ring fills up
|
#
169978 |
|
25-May-2007 |
kmacy |
(MFp4) - 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
|
#
169052 |
|
26-Apr-2007 |
kmacy |
Disable mbuf chain collapsing - it is currently causing an mbuf leak
|
#
168890 |
|
20-Apr-2007 |
kmacy |
Free cluster if we fail to create the dmamap.
Fixes CID 1829 Found by: Coverity
|
#
168749 |
|
15-Apr-2007 |
kmacy |
Add sysctl for disabling/enabling mbuf chain collapsing remove map creation before calling bus_dmamap_load_mvec_sg
|
#
168737 |
|
14-Apr-2007 |
kmacy |
Add support for mbuf iovec in the TX path
|
#
168650 |
|
12-Apr-2007 |
kmacy |
restore sense to get_imm_packet
MFC after: 3 days
|
#
168646 |
|
12-Apr-2007 |
kmacy |
switch over to per-txq dma tag to facilitate parallelism on TX
MFC after: 3 days
|
#
168644 |
|
12-Apr-2007 |
kmacy |
explicitly check TSO flag don't clear and then set M_PKTHDR, m_gethdr sets it correctly improve error handling on m_gethdr failure
MFC after: 3 days
|
#
168491 |
|
08-Apr-2007 |
kmacy |
Convert driver RX path over to using mbuf iovec
|
#
168351 |
|
04-Apr-2007 |
kmacy |
Make DMA tags per-queue to facilate parallel mappings Defer mbuf allocation and initialization until after data has already been received in a cluster
This reduces cpu utilization somewhat, but it only improves the rx path. Recent changes to TCP appear to make us rate limited by the TX path.
This is the first step in reducing mbuf management overhead for manipulating clusters.
MFC after: 3 days
|
#
167848 |
|
23-Mar-2007 |
kmacy |
- Increase coalesce_nsecs - commit fixes for the following coverity warnings: 1765, 1760, 1758, 1756
|
#
167760 |
|
21-Mar-2007 |
kmacy |
make MSI-X the default and allocate up to mp_ncpus queues per port
MFC after: 3 days
|
#
167655 |
|
17-Mar-2007 |
kmacy |
move inline function above use so that -O works
|
#
167527 |
|
14-Mar-2007 |
kmacy |
remove unused code for recycling descriptors kick tx cleaner from credit update function
|
#
167514 |
|
14-Mar-2007 |
kmacy |
First of several commits for driver support for the Chelsio T3B 10 Gigabit Ethernet adapter.
Reviewed by: scottl, sam
For those interested in the preliminary performance work see below.
Plots of mxge vs. cxgb running netpipe:
blocksize vs. bandwidth: http://www.fsmware.com/chelsio.random/bsvsbw.gif
blocksize vs. RTT: First of several commits for driver support for the Chelsio T3B 10 Gigabit Ethernet adapter.
Reviewed by: scottl, sam
For those interested in the preliminary performance work see below.
Plots of mxge vs. cxgb running netpipe:
blocksize vs. bandwidth: http://www.fsmware.com/chelsio.random/bsvsbw.gif
blocksize vs. RTT: http://www.fsmware.com/chelsio.random/bsvstime.gif
blocksize vs. RTT for block sizes <= 10kb: http://www.fsmware.com/chelsio.random/bsvstime_10kb.gif http://www.fsmware.com/chelsio.random/bsvstime_10kb3.gif
|