#
312169 |
|
14-Jan-2017 |
arybchik |
MFC r311983
sfxge(4): add sysctl to change MAC stats update period
The sysctl controls the period per interface.
Sponsored by: Solarflare Communications, Inc.
|
#
312168 |
|
14-Jan-2017 |
arybchik |
MFC r311977
sfxge(4): add tunable to configure MAC stats update period
Sponsored by: Solarflare Communications, Inc.
|
#
312167 |
|
14-Jan-2017 |
arybchik |
MFC r311962
sfxge(4): stats refresh in SW should depend on HW update period
The period should be taken into account by the function which refreshes driver stats.
Reviewed by: philip Sponsored by: Solarflare Communications, Inc.
|
#
311766 |
|
09-Jan-2017 |
arybchik |
MFC r311638
sfxge(4): use SFXGE_LINK_UP() to report link up state
Sponsored by: Solarflare Communications, Inc.
|
#
304679 |
|
23-Aug-2016 |
arybchik |
MFC r301724
sfxge(4): handle negative ticks difference correctly
ticks are signed int and if statistics is not updated for a long time (more than INT_MAX ticks, but less than UINT_MAX) difference becomes negative and less than hz for a long time.
Other option to repeat is simply load driver (which initializes timestamps to 0) when ticks are negative.
Sponsored by: Solarflare Communications, Inc.
|
#
301388 |
|
04-Jun-2016 |
arybchik |
MFC r300607
sfxge(4): cleanup: update copyright to 2016
Sponsored by: Solarflare Communications, Inc.
|
#
292089 |
|
11-Dec-2015 |
arybchik |
sfxge: implement interface statistics shown by netstat
PR: 202907 Submitted by: Boris Misenov <Boris.Misenov at oktetlabs.ru> Reviewed by: gnn, philip Sponsored by: Solarflare Communications, Inc. Differential Revision: https://reviews.freebsd.org/D4317
|
#
284555 |
|
18-Jun-2015 |
arybchik |
MFC: r283514
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.
|
#
284554 |
|
18-Jun-2015 |
arybchik |
sfxge: use if_initbaudrate() to set interface baudrate
It is required to cope with u_long limit for 10 Gbps in a right way. It is a direct commit to stable/10 since head differs (head does not have if_initbaudrate(), if_baudrate is simply uint64_t).
Sponsored by: Solarflare Communications, Inc. Differential Revision: https://reviews.freebsd.org/D2849
|
#
283682 |
|
29-May-2015 |
arybchik |
MFC: r283599
sfxge: mask ifmedia options (pauses) when looking for matching mode
Sponsored by: Solarflare Communications, Inc.
|
#
283213 |
|
21-May-2015 |
arybchik |
MFC: r283007
sfxge: avoid usage of ifm_data
The driver uses ifm_data to save capabilities mask calculated during initialization when supported phy modes are discovered. The patch simply calculates it when either media or options are changed.
Sponsored by: Solarflare Communications, Inc.
|
#
283202 |
|
21-May-2015 |
arybchik |
MFC: r282897
sfxge: add missing const qualifier to sfxge_link_mode
Sponsored by: Solarflare Communications, Inc.
|
#
280610 |
|
25-Mar-2015 |
arybchik |
MFC: 280380
sfxge: remove unnecessary and wrong prediction
Sponsored by: Solarflare Communications, Inc. Original Differential Revision: https://reviews.freebsd.org/D2085
|
#
280596 |
|
25-Mar-2015 |
arybchik |
MFC: 279351
sfxge: expect required init_state on data path and in periodic calls
With the patch applied the number of instruction events is 1% less and number of mispredicted branch events is 5% less under multistream TCP traffic load close to line rate.
Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor)
|
#
280533 |
|
25-Mar-2015 |
arybchik |
MFC: 278838
sfxge: SYSCTL_IN/OUT should not be called with non-sleepable lock held
The problem is found using WITNESS option enabled.
Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor)
|
#
280524 |
|
25-Mar-2015 |
arybchik |
MFC: 278250
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)
|
#
280523 |
|
25-Mar-2015 |
arybchik |
MFC: 278248
sfxge: access statistics buffers under port lock
Allow access to statistics data not only from sysctl handlers.
Submitted by: Boris Misenov <Boris.Misenov at oktetlabs.ru> Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor)
|
#
280522 |
|
25-Mar-2015 |
arybchik |
MFC: 278221
sfxge: Add macros to init, destroy, acquire, release and assert locks
Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor)
|
#
280514 |
|
25-Mar-2015 |
arybchik |
MFC: 277890
sfxge: Do not bzero() DMA allocated memory once again
sfxge_dma_alloc() calls bus_dmamem_alloc() with BUS_DMA_ZERO flag, so allocated memory is already filled in by zeros
Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor)
|
#
280501 |
|
25-Mar-2015 |
arybchik |
MFC: 272325
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.
|
#
265884 |
|
11-May-2014 |
gnn |
MFC: 263302, 264461, 264772
263302: fix mbuf leak if it does not fit in software queue
264461: Commit various fixes for the SolarFlare drivers, in particular this set of patches fixes support for systems with > 32 cores.
Details include
sfxge: RXQ index (not label) comes from FW in flush done/failed events
Change the second argument name of the efx_rxq_flush_done_ev_t and efx_rxq_flush_failed_ev_t prototypes to highlight that RXQ index (not label) comes from FW in flush done and failed events.
sfxge: TXQ index (not label) comes from FW in flush done event
Change the second argument name of the efx_txq_flush_done_ev_t prototype to highlight that TXQ index (not label) comes from FW in flush done event.
sfxge: use TXQ type as label to support more than 32 TXQs
There are 3 TXQs in event queue 0 and 1 TXQ (with TCP/UDP checksum offload) in all other event queues.
264772: Check that port is started when MAC filter is set
The MAC filter set may be called without softc_lock held in the case of SIOCADDMULTI and SIOCDELMULTI ioctls. The ioctl handler checks IFF_DRV_RUNNING flag which implies port started, but it is not guaranteed to remain. softc_lock shared lock can't be held in the case of these ioctls processing, since it results in failure where kernel complains that non-sleepable lock is held in sleeping thread.
Both problems are repeatable on LAG with LACP proto bring up.
Submitted by: Andrew Rybchenko <Andrew.Rybchenko at oktetlabs.ru> Sponsored by: Solarflare Communications, Inc.
|
#
284555 |
|
18-Jun-2015 |
arybchik |
MFC: r283514
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.
|
#
284554 |
|
18-Jun-2015 |
arybchik |
sfxge: use if_initbaudrate() to set interface baudrate
It is required to cope with u_long limit for 10 Gbps in a right way. It is a direct commit to stable/10 since head differs (head does not have if_initbaudrate(), if_baudrate is simply uint64_t).
Sponsored by: Solarflare Communications, Inc. Differential Revision: https://reviews.freebsd.org/D2849
|
#
283682 |
|
29-May-2015 |
arybchik |
MFC: r283599
sfxge: mask ifmedia options (pauses) when looking for matching mode
Sponsored by: Solarflare Communications, Inc.
|
#
283213 |
|
21-May-2015 |
arybchik |
MFC: r283007
sfxge: avoid usage of ifm_data
The driver uses ifm_data to save capabilities mask calculated during initialization when supported phy modes are discovered. The patch simply calculates it when either media or options are changed.
Sponsored by: Solarflare Communications, Inc.
|
#
283202 |
|
21-May-2015 |
arybchik |
MFC: r282897
sfxge: add missing const qualifier to sfxge_link_mode
Sponsored by: Solarflare Communications, Inc.
|
#
280610 |
|
25-Mar-2015 |
arybchik |
MFC: 280380
sfxge: remove unnecessary and wrong prediction
Sponsored by: Solarflare Communications, Inc. Original Differential Revision: https://reviews.freebsd.org/D2085
|
#
280596 |
|
25-Mar-2015 |
arybchik |
MFC: 279351
sfxge: expect required init_state on data path and in periodic calls
With the patch applied the number of instruction events is 1% less and number of mispredicted branch events is 5% less under multistream TCP traffic load close to line rate.
Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor)
|
#
280533 |
|
25-Mar-2015 |
arybchik |
MFC: 278838
sfxge: SYSCTL_IN/OUT should not be called with non-sleepable lock held
The problem is found using WITNESS option enabled.
Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor)
|
#
280524 |
|
25-Mar-2015 |
arybchik |
MFC: 278250
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)
|
#
280523 |
|
25-Mar-2015 |
arybchik |
MFC: 278248
sfxge: access statistics buffers under port lock
Allow access to statistics data not only from sysctl handlers.
Submitted by: Boris Misenov <Boris.Misenov at oktetlabs.ru> Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor)
|
#
280522 |
|
25-Mar-2015 |
arybchik |
MFC: 278221
sfxge: Add macros to init, destroy, acquire, release and assert locks
Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor)
|
#
280514 |
|
25-Mar-2015 |
arybchik |
MFC: 277890
sfxge: Do not bzero() DMA allocated memory once again
sfxge_dma_alloc() calls bus_dmamem_alloc() with BUS_DMA_ZERO flag, so allocated memory is already filled in by zeros
Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor)
|
#
280501 |
|
25-Mar-2015 |
arybchik |
MFC: 272325
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.
|
#
265884 |
|
11-May-2014 |
gnn |
MFC: 263302, 264461, 264772
263302: fix mbuf leak if it does not fit in software queue
264461: Commit various fixes for the SolarFlare drivers, in particular this set of patches fixes support for systems with > 32 cores.
Details include
sfxge: RXQ index (not label) comes from FW in flush done/failed events
Change the second argument name of the efx_rxq_flush_done_ev_t and efx_rxq_flush_failed_ev_t prototypes to highlight that RXQ index (not label) comes from FW in flush done and failed events.
sfxge: TXQ index (not label) comes from FW in flush done event
Change the second argument name of the efx_txq_flush_done_ev_t prototype to highlight that TXQ index (not label) comes from FW in flush done event.
sfxge: use TXQ type as label to support more than 32 TXQs
There are 3 TXQs in event queue 0 and 1 TXQ (with TCP/UDP checksum offload) in all other event queues.
264772: Check that port is started when MAC filter is set
The MAC filter set may be called without softc_lock held in the case of SIOCADDMULTI and SIOCDELMULTI ioctls. The ioctl handler checks IFF_DRV_RUNNING flag which implies port started, but it is not guaranteed to remain. softc_lock shared lock can't be held in the case of these ioctls processing, since it results in failure where kernel complains that non-sleepable lock is held in sleeping thread.
Both problems are repeatable on LAG with LACP proto bring up.
Submitted by: Andrew Rybchenko <Andrew.Rybchenko at oktetlabs.ru> Sponsored by: Solarflare Communications, Inc.
|