156 Commits

Author SHA1 Message Date
kmacy
cedc71acdf remove socketvar.h, add more selective includes 2008-07-31 20:28:58 +00:00
ps
626564d5a5 Unbreak the build by including sys/socketvar.h 2008-07-31 01:52:04 +00:00
kmacy
4ad195ad47 fix includes for post sockbuf re-factor 2008-07-30 20:08:34 +00:00
kmacy
52a393acad remove call to unsafe tcp_twstart function 2008-07-21 21:23:43 +00:00
kmacy
673bf0fe8a remove unneeded declarations 2008-07-21 02:34:52 +00:00
kmacy
cccf5dd0cc remove local version of tcp_offload_* functions 2008-07-21 02:29:40 +00:00
kmacy
b6ccefc36f update syncache function names 2008-07-21 02:26:49 +00:00
kmacy
7658528ea7 remove cxgb local definition of locked syncache_expand 2008-07-21 02:17:27 +00:00
kmacy
a6eb23b528 remove cxgb local definitions of socket accessor functions 2008-07-21 01:23:19 +00:00
kmacy
96f4c28cd5 new vendor PHY support 2008-07-18 07:01:51 +00:00
kmacy
c01ed5ad9b import vendor fixes to cxgb 2008-07-18 06:12:31 +00:00
kmacy
4f047a5220 conditionally define PANIC_IF, remove 'unlikely' 2008-05-05 22:37:21 +00:00
kmacy
a809f1f760 LINT fixes 2008-05-05 20:41:10 +00:00
kmacy
2ad219aa54 import support for iwarp on Chelsio T3 card
Supported by Chelsio Inc.
2008-05-05 18:46:18 +00:00
kmacy
49e613fa45 MFSVN:
- add / remove clients from cxgb_main.c now
 - change ifdef TOE_ENABLED to TCP_OFFLOAD_DISABLE
 - update copyrights
 - fix transmit data mismatch bug caused by not setting SB_NOCOALESCE
   on tx sockbuf on passive connections
 - fix receive sequence mismatch bug caused by not setting SB_NOCOALESCE
   on rx sockbuf on passive connections
 - don't sleep without checking SBS_CANTRCVMORE first
 - various ddp ordering fixes

Supported by: Chelsio Inc.
2008-05-05 01:41:53 +00:00
kmacy
caad0d585a remove kdb_backtrace() call 2008-04-19 03:43:06 +00:00
kmacy
4eae976a6a move cxgb_lt2.[ch] from NIC to TOE
move most offload functionality from NIC to TOE
factor out all socket and inpcb direct access
factor out access to locking in incpb, pcbinfo, and sockbuf
2008-04-19 03:22:43 +00:00
rwatson
ca47fccd6b Convert pcbinfo and inpcb mutexes to rwlocks, and modify macros to
explicitly select write locking for all use of the inpcb mutex.
Update some pcbinfo lock assertions to assert locked rather than
write-locked, although in practice almost all uses of the pcbinfo
rwlock main exclusive, and all instances of inpcb lock acquisition
are exclusive.

This change should introduce (ideally) little functional change.
However, it lays the groundwork for significantly increased
parallelism in the TCP/IP code.

MFC after:	3 months
Tested by:	kris (superset of committered patch)
2008-04-17 21:38:18 +00:00
kmacy
15067326c7 reduce the size of the jumbo ring on i386 and disable pcpu cluster caching 2008-03-31 21:02:27 +00:00
kmacy
59f40fe008 change inp_wlock_assert to inp_lock_assert 2008-03-24 20:24:04 +00:00
kmacy
9fbcabc6c7 remove unneccessary tcbinfo lock acquisitions - set tp to null affter calling enter_timewait as we no longer own the inpcb 2008-03-24 05:21:10 +00:00
kmacy
fb74f62b24 Insulate inpcb consumers outside the stack from the lock type and offset within the pcb by adding accessor functions.
Reviewed by: rwatson
MFC after: 3 weeks
2008-03-23 22:34:16 +00:00
kmacy
db590514fa pay attention to default cluster limits when sizing receive queues 2008-03-20 20:52:37 +00:00
kmacy
2deefa8109 fix link management bug and conditionally allow the PHY to be kept on at all times for allowing non-conformant link state checks 2008-03-19 20:56:51 +00:00
kmacy
8070f0fd71 - Integrate 1.133 vendor driver changes
- update some copyrights
- add improved support for delayed ack
- fix issue with fec
2008-03-18 03:55:12 +00:00
kmacy
3ec0d10a53 Parameterize for module name 2008-02-26 23:12:55 +00:00
kmacy
a7429d92be Remove unused files 2008-02-26 23:06:22 +00:00
kmacy
a8940df33d move remaining binaries in to blob headers 2008-02-26 23:05:05 +00:00
kmacy
3c2b753612 Move firmware in to separate module that can be compiled statically in to the kernel
Add utility for converting future firmware revs to a C header file
2008-02-26 03:02:20 +00:00
keramida
e113f77e8a Spell 'overwriting' correctly in a KASSERT() message. 2008-02-25 19:28:27 +00:00
kmacy
936fc7a506 Fix namespace collision with sparc macro 2008-02-24 07:19:31 +00:00
kmacy
b1eb788c2b remove call to kdb_backtrace() 2008-02-23 21:18:13 +00:00
kmacy
ba175a7cae Fix tinderbox by removing call to kdb_backtrace
MFC after: 3 days
2008-02-23 06:19:16 +00:00
kmacy
48fe676ff5 - 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
2008-02-23 01:06:17 +00:00
phk
df9c99b9c2 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.
2008-02-01 19:36:27 +00:00
kmacy
4b5f86e85f Fix loading for case where we don't overload tcp_usrreqs by calling tcp_drop directly 2008-01-27 04:39:38 +00:00
kmacy
f999d9af27 fix DISABLE_MBUF_IOVEC case by initializing mbuf header completely 2008-01-27 04:37:02 +00:00
kmacy
ac46645d70 Re-enable pcpu caching by default make sysctl R/W 2008-01-19 22:47:43 +00:00
kmacy
53e7eb64df - 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
2008-01-17 21:25:58 +00:00
sam
e443f3b38c promote ath_defrag to m_collapse (and retire private+unused
m_collapse from cxgb)

Reviewed by:	pyun, jhb, kmacy
MFC after:	2 weeks
2008-01-17 21:25:09 +00:00
kmacy
6dfbebef02 Fix lock ordering panic by not calling ether_ioctl with port lock held
Reported by: rrs
2008-01-16 21:33:34 +00:00
kmacy
1e0f928b96 remove superfluous debug printfs 2008-01-16 02:39:33 +00:00
kmacy
c2f095f565 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"
2008-01-16 00:28:30 +00:00
kmacy
df0456225c put tx queue size back to 1024 2008-01-16 00:26:04 +00:00
jhb
e5e6d6bdf6 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
2008-01-15 22:01:26 +00:00
kmacy
90f3f8edb2 - 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
2008-01-15 08:08:09 +00:00
kmacy
1287cf02b7 - 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
2008-01-15 03:27:42 +00:00
kmacy
9696aa5a5b remove superfluous locking from dequeue 2008-01-15 03:21:02 +00:00
kmacy
bd332c3c41 - Assert that immpkt is not set
- convert %lx to 32-bit safe %jx
2008-01-14 07:55:56 +00:00
kmacy
e43c4da280 - Add more extensive sanity checks
- remove initial dequeue from cxgb_start as it was causing an mbuf to be referenced twice
2008-01-14 06:00:41 +00:00