#
342455 |
|
25-Dec-2018 |
arybchik |
MFC r341785
sfxge(4): use n Tx queues instead of n + 2 on EF10 HW
On EF10 HW we can avoid sending packets without checksum offload or with IP-only checksum offload to dedicated queues. Instead, we can use option descriptors to change offload policy on any queue during runtime. Thus, we don't need to create two dedicated queues.
Submitted by: Ivan Malov <Ivan.Malov at oktetlabs.ru> Sponsored by: Solarflare Communications, Inc. Differential Revision: https://reviews.freebsd.org/D18390
|
#
342454 |
|
25-Dec-2018 |
arybchik |
MFC r341784
sfxge(4): prepare the number of Tx queues on event queue 0 to become variable
The number of Tx queues on event queue 0 can depend on the NIC family type, and this property will be leveraged by future patches. This patch prepares the code for this change.
Submitted by: Ivan Malov <Ivan.Malov at oktetlabs.ru> Sponsored by: Solarflare Communications, Inc. Differential Revision: https://reviews.freebsd.org/D18389
|
#
342401 |
|
25-Dec-2018 |
arybchik |
MFC r312866
sfxge(4): cleanup: remove unused txq_index TxQ control structure member
Sponsored by: Solarflare Communications, Inc.
|
#
331722 |
|
29-Mar-2018 |
eadler |
Revert r330897:
This was intended to be a non-functional change. It wasn't. The commit message was thus wrong. In addition it broke arm, and merged crypto related code.
Revert with prejudice.
This revert skips files touched in r316370 since that commit was since MFCed. This revert also skips files that require $FreeBSD$ property changes.
Thank you to those who helped me get out of this mess including but not limited to gonzo, kevans, rgrimes.
Requested by: gjb (re)
|
#
330897 |
|
14-Mar-2018 |
eadler |
Partial merge of the SPDX changes
These changes are incomplete but are making it difficult to determine what other changes can/should be merged.
No objections from: pfg
|
#
302408 |
|
07-Jul-2016 |
gjb |
Copy head@r302406 to stable/11 as part of the 11.0-RELEASE cycle. Prune svn:mergeinfo from the new branch, as nothing has been merged here.
Additional commits post-branch will follow.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
300607 |
|
24-May-2016 |
arybchik |
sfxge(4): cleanup: update copyright to 2016
Sponsored by: Solarflare Communications, Inc. MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D6509
|
#
294077 |
|
15-Jan-2016 |
arybchik |
sfxge: support FATSOv2
Reviewed by: gnn Sponsored by: Solarflare Communications, Inc. MFC after: 2 days Differential Revision: https://reviews.freebsd.org/D4934
|
#
291584 |
|
01-Dec-2015 |
arybchik |
sfxge: parse packets for TSO early in if_transmit
Submitted by: Artem V. Andreev <Artem.Andreev at oktetlabs.ru> Sponsored by: Solarflare Communications, Inc. MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D4309
|
#
291569 |
|
01-Dec-2015 |
arybchik |
sfxge: avoid TSO packets collapses if packet header uses 2 segments
It is really observed in the case of VLAN over sfxge interface. Also this change makes total value equal to 35 which is default assumed by the kernel for if_hw_tsomaxsegcount.
Sponsored by: Solarflare Communications, Inc. MFC after: 2 days Differential Revision: https://reviews.freebsd.org/D4319
|
#
291488 |
|
30-Nov-2015 |
arybchik |
sfxge: avoid TSO packets collapses bacause of not 2K aligned data
Sponsored by: Solarflare Communications, Inc. MFC after: 2 days Differential Revision: https://reviews.freebsd.org/D4310
|
#
283514 |
|
25-May-2015 |
arybchik |
sfxge: add 7xxx NICs family support
Support 7xxx adapters including firmware-assisted TSO and VLAN tagging:
- Solarflare Flareon Ultra 7000 series 10/40G adapters: - Solarflare SFN7042Q QSFP+ Server Adapter - Solarflare SFN7142Q QSFP+ Server Adapter
- Solarflare Flareon Ultra 7000 series 10G adapters: - Solarflare SFN7022F SFP+ Server Adapter - Solarflare SFN7122F SFP+ Server Adapter - Solarflare SFN7322F Precision Time Synchronization Server Adapter
- Solarflare Flareon 7000 series 10G adapters: - Solarflare SFN7002F SFP+ Server Adapter
Support utilities to configure adapters and update firmware.
The work is done by Solarflare developers (Andy Moreton, Andrew Lee and many others), Artem V. Andreev <Artem.Andreev at oktetlabs.ru> and me.
Sponsored by: Solarflare Communications, Inc. MFC after: 2 weeks Causually read by: gnn Differential Revision: https://reviews.freebsd.org/D2618
|
#
282942 |
|
15-May-2015 |
arybchik |
sfxge: split sfxge_tx_qdpl_put() into *_locked() and *_unlocked()
It simplifies understanding of the sfxge_tx_packet_add() logic and avoids passing of 'locked' to called function.
Reviewed by: gnn Sponsored by: Solarflare Communications, Inc. MFC after: 2 days Differential Revision: https://reviews.freebsd.org/D2547
|
#
280376 |
|
23-Mar-2015 |
arybchik |
sfxge: remove obsolete Tx non-multi queue support
Tx multi queue is added in FreeBSD 8.0. So, the changeset drops earlier versions support.
Sponsored by: Solarflare Communications, Inc. Differential Revision: https://reviews.freebsd.org/D2081
|
#
280164 |
|
17-Mar-2015 |
arybchik |
sfxge: increase default put-list limit to 1024
Drops are observed under multi-stream TCP traffic due to put-list overflow with limit equal to 64.
Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor)
|
#
279231 |
|
24-Feb-2015 |
arybchik |
sfxge: add put-list high watermark
It is interesting to know how long put-list grows.
Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor)
|
#
279184 |
|
22-Feb-2015 |
arybchik |
sfxge: implement if_get_counter callback
Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor)
|
#
279094 |
|
21-Feb-2015 |
arybchik |
sfxge: more accurate calculation of maximum number of TSO segments
Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor)
|
#
279077 |
|
20-Feb-2015 |
arybchik |
sfxge: style fixes
Use nitem() to get number of array elements. Remove unused define. Use TAB to indent.
Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor)
|
#
278938 |
|
18-Feb-2015 |
arybchik |
sfxge: add driver context member with number of transmit queues
Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor)
|
#
278255 |
|
05-Feb-2015 |
arybchik |
sfxge: Add statistics for partially dropped TSO packets
Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor)
|
#
278250 |
|
05-Feb-2015 |
arybchik |
sfxge: make lock names unique
Lock name should include interface name. Tx queue and event queue lock name should include queue number.
Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor)
|
#
278221 |
|
04-Feb-2015 |
arybchik |
sfxge: Add macros to init, destroy, acquire, release and assert locks
Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor)
|
#
277895 |
|
29-Jan-2015 |
arybchik |
sfxge: Separate software Tx queue limit for non-TCP traffic
Add separate software Tx queue limit for non-TCP traffic to make total limit higher and avoid local drops of TCP packets because of no backpressure. There is no point to make non-TCP limit high since without backpressure UDP stream easily overflows any sensible limit.
Split early drops statistics since it is better to have separate counter for each drop reason to make it unabmiguous.
Add software Tx queue high watermark. The information is very useful to understand how big queues grow under traffic load.
Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor)
|
#
277889 |
|
29-Jan-2015 |
arybchik |
sfxge: Add evq argument to sfxge_tx_qcomplete()
It removes necessity to get evq pointer by its index in soft context.
Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor)
|
#
277885 |
|
29-Jan-2015 |
arybchik |
sfxge: Move txq->next pointer to part writable on completion path
In fact the pointer is used only if more than one TXQ is processed in one interrupt. It is used (read-write) on completion path only. Also it makes the first part of the structure smaller and it fits now into one 128byte cache line. So, TXQ structure becomes 128 bytes smaller.
Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor)
|
#
272331 |
|
30-Sep-2014 |
gnn |
Support tunable to control Tx deferred packet list limits
Also increase default for Tx queue get-list limit. Too small limit results in TCP packets drops especiall when many streams are running simultaneously. Put list may be kept small enough since it is just a temporary location if transmit function can't get Tx queue lock.
Submitted by: Andrew Rybchenko <arybchenko at solarflare.com> Sponsored by: Solarflare Communications, Inc.
|
#
272330 |
|
30-Sep-2014 |
gnn |
The patch allows to check state of the software Tx queues at run time.
Submitted by: Andrew Rybchenko <arybchenko at solarflare.com> Sponsored by: Solarflare Communications, Inc.
|
#
272328 |
|
30-Sep-2014 |
gnn |
Make size of Tx and Rx rings configurable
Required size of event queue is calculated now.
Submitted by: Andrew Rybchenko <arybchenko at solarflare.com> Sponsored by: Solarflare Communications, Inc.
|
#
272325 |
|
30-Sep-2014 |
gnn |
cleanup: code style fixes
Remove trailing whitespaces and tabs. Enclose value in return statements in parentheses. Use tabs after #define. Do not skip comparison with 0/NULL in boolean expressions.
Submitted by: Andrew Rybchenko <arybchenko at solarflare.com> Sponsored by: Solarflare Communications, Inc.
|
#
263649 |
|
22-Mar-2014 |
glebius |
sfxge: limit software Tx queue size.
Previous implementation limits put queue size only (when Tx lock can't be acquired), but get queue may grow unboundedly which results in mbuf pools exhaustion and latency growth.
Submitted by: Andrew Rybchenko <Andrew.Rybchenko at oktetlabs.ru> Sponsored by: Solarflare Communications, Inc.
|
#
263332 |
|
19-Mar-2014 |
glebius |
Add counter for Tx errors returned from if_transmit.
Submitted-by: Boris Misenov <Boris.Misenov@oktetlabs.ru> Sponsored by: Solarflare Communications, Inc.
|
#
227569 |
|
16-Nov-2011 |
philip |
Add the sfxge(4) device driver, providing support for 10Gb Ethernet adapters based on Solarflare SFC9000 family controllers. The driver supports jumbo frames, transmit/receive checksum offload, TCP Segmentation Offload (TSO), Large Receive Offload (LRO), VLAN checksum offload, VLAN TSO, and Receive Side Scaling (RSS) using MSI-X interrupts.
This work was sponsored by Solarflare Communications, Inc.
My sincere thanks to Ben Hutchings for doing a lot of the hard work!
Sponsored by: Solarflare Communications, Inc. MFC after: 3 weeks
|