#
342521 |
|
26-Dec-2018 |
arybchik |
MFC r341326
sfxge(4): ensure EvQ poll stops when abort is requested
If an event handler requested an abort, only the inner loop was guarenteed to be broken out of - the outer loop could continue if total == batch.
Fix this by poisoning batch to ensure it is different to total.
Submitted by: Mark Spender <mspender at solarflare.com> Sponsored by: Solarflare Communications, Inc. Differential Revision: https://reviews.freebsd.org/D18287
|
#
342502 |
|
26-Dec-2018 |
arybchik |
MFC r340889
sfxge(4): fix warnings from VS2015 C compiler (C4189)
Fix multiple level 4 warnings "C4189: 'xxx': local variable is initialized but not referenced"; no functional changes.
Submitted by: Andrew Lee <alee at solarflare.com> Sponsored by: Solarflare Communications, Inc. Differential Revision: https://reviews.freebsd.org/D18123
|
#
342501 |
|
26-Dec-2018 |
arybchik |
MFC r340888
sfxge(4): fix warnings from VS2015 C compiler (C4100)
Fix multiple level 4 warnings "C4100: 'xxx': unreferenced formal parameter" no functional changes.
The _NOTE(ARGUNUSED(xxx)) annotations are being exposed to the Visual Studio 2015 C compiler with the following:
#define _NOTE_ARGUNUSED(...) UNREFERENCED_PARAMETER((__VA_ARGS__)); #define _NOTE(_annotation) _NOTE_ ## _annotation
Submitted by: Andrew Lee <alee at solarflare.com> Sponsored by: Solarflare Communications, Inc. Differential Revision: https://reviews.freebsd.org/D18122
|
#
311491 |
|
06-Jan-2017 |
arybchik |
MFC r310744
sfxge(4): fix efx_ev_qpoll for non-Siena builds
Both Siena and EF10 use the siena_ev_qpoll() implementation, but this function is not defined in builds without EFSYS_OPT_SIENA.
Remove siena_ev_qpoll and inline it into efx_ev_qpoll to allow it to be used in non-Siena builds.
Also remove outdated FIXME comment, as EF10 event batching/merging has been implemented long ago without needing to modify this code.
Submitted by: Andy Moreton <amoreton at solarflare.com> Sponsored by: Solarflare Communications, Inc.
|
#
311094 |
|
02-Jan-2017 |
arybchik |
MFC r310812
sfxge(4): support non-interrupting event queues creation
Poll-mode driver does not use interrupts and number of used event queues should not be limitted by the number of interrupts allocated for the NIC.
Sponsored by: Solarflare Communications, Inc.
|
#
311070 |
|
02-Jan-2017 |
arybchik |
MFC r310713
sfxge(4): add possibility to control event queue performance profile
It is ignored on SFN5xxx/6xxx (aka Siena).
Sponsored by: Solarflare Communications, Inc.
|
#
311062 |
|
02-Jan-2017 |
arybchik |
MFC r310693
sfxge(4): cleanup: avoid unspecified unsigned
Found by DPDK checkpatch.sh
Sponsored by: Solarflare Communications, Inc.
|
#
311059 |
|
02-Jan-2017 |
arybchik |
MFC r310690
sfxge(4): cleanup: add const qualifier to const array pointer
Sponsored by: Solarflare Communications, Inc.
|
#
301984 |
|
17-Jun-2016 |
arybchik |
MFC r301308
sfxge(4): add helper to compute timer quantum
This also adjusts the timer values used to match the Linux net driver implementation: a) non-zero time intervals should result in at least one quantum b) timer load/reload values are only zero biased for Falcon/Siena
Submitted by: Andy Moreton <amoreton at solarflare.com> Sponsored by: Solarflare Communications, Inc. Differential Revision: https://reviews.freebsd.org/D6704
|
#
301982 |
|
17-Jun-2016 |
arybchik |
MFC r301127
sfxge(4): cleanup: remove unused variables in common code
Submitted by: Andy Moreton <amoreton at solarflare.com> Sponsored by: Solarflare Communications, Inc.
|
#
301980 |
|
17-Jun-2016 |
arybchik |
MFC r301122
sfxge(4): set moderation in efx_ev_qcreate
This simplifies setting an initial interrupt moderation value, and avoids most calls to evx_ev_qmoderate from contexts where MCDI is not allowed (MCDI is need for an EVQ timer workaround in a later patch).
Submitted by: Andy Moreton <amoreton at solarflare.com> Reviewed by: gnn Sponsored by: Solarflare Communications, Inc. Differential Revision: https://reviews.freebsd.org/D6673
|
#
301392 |
|
04-Jun-2016 |
arybchik |
MFC r300840
sfxge(4): note unused variables to make lint happier
Found by lint on illumos.
Submitted by: Garrett D'Amore <garrett at damore.org> Sponsored by: Solarflare Communications, Inc.
|
#
301388 |
|
04-Jun-2016 |
arybchik |
MFC r300607
sfxge(4): cleanup: update copyright to 2016
Sponsored by: Solarflare Communications, Inc.
|
#
301386 |
|
04-Jun-2016 |
arybchik |
MFC r300605
sfxge(4): be ready to receive events immediately after event queues are created
Submitted by: Mark Spender <mspender at solarflare.com> Reviewed by: gnn Sponsored by: Solarflare Communications, Inc.
|
#
301345 |
|
04-Jun-2016 |
arybchik |
MFC r299607-r299612
sfxge(4): rename falconsiena_*
Falcon support has been removed, so this code only supports Siena.
Submitted by: Andy Moreton <amoreton at solarflare.com> Sponsored by: Solarflare Communications, Inc.
|
#
301340 |
|
04-Jun-2016 |
arybchik |
MFC r299517
sfxge(4): cleanup: constify common code method tables
Submitted by: Andy Moreton <amoreton at solarflare.com> Sponsored by: Solarflare Communications, Inc.
|
#
301331 |
|
04-Jun-2016 |
arybchik |
MFC r299404
sfxge(4): remove Falcon specific EV_GLOBAL support
Submitted by: Andy Moreton <amoreton at solarflare.com> Sponsored by: Solarflare Communications, Inc.
|
#
301330 |
|
04-Jun-2016 |
arybchik |
MFC r299403
sfxge(4): remove Falcon-specific code paths from common code
Submitted by: Andy Moreton <amoreton at solarflare.com> Sponsored by: Solarflare Communications, Inc.
|
#
301324 |
|
04-Jun-2016 |
arybchik |
MFC r299320-r299328, r299330-r299336
sfxge(4): remove EFSYS_OPT_FALCON and related EFSYS_OPT_ options
Submitted by: Andy Moreton <amoreton at solarflare.com> Sponsored by: Solarflare Communications, Inc.
|
#
294016 |
|
14-Jan-2016 |
arybchik |
MFC r293814
sfxge: cleanup: simplify EFX header includes
Submitted by: Andy Moreton <amoreton at solarflare.com> Sponsored by: Solarflare Communications, Inc.
|
#
294007 |
|
14-Jan-2016 |
arybchik |
MFC r293806
sfxge: remove unused common code EFSYS_OPT_RX_HDR_SPLIT
The EFSYS_OPT_RX_HDR_SPLIT optional feature in the common code implemented the Lookahead Split feature of Windows. This split received packets at a preconfigured byte offset, and delivered the header and payload portions to separate receive queues.
Now the common code interface has no callers, so remove it.
Note that this should not be confused with the Header Data Split feature of Windows, which splits packets at a header boundary.
Submitted by: Andy Moreton <amoreton at solarflare.com> Sponsored by: Solarflare Communications, Inc.
|
#
293986 |
|
14-Jan-2016 |
arybchik |
MFC r293752
sfxge: rename hunt ev methods to ef10 and use for Medford
Submitted by: Mark Spender <mspender at solarflare.com> Reviewed by: gnn Sponsored by: Solarflare Communications, Inc.
|
#
293927 |
|
14-Jan-2016 |
arybchik |
MFC r291436
sfxge: add prefast annotation to common code return types
Using a typedef for common code return types (rather than "int") allows the Prefast static analyser to understand when a function has been successful (and thus when its postconditions must hold).
This greatly reduces then number of false positives reported by prefast for error paths in common code functions.
Submitted by: Andy Moreton <amoreton at solarflare.com> 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.
|
#
280588 |
|
25-Mar-2015 |
arybchik |
MFC: 279182
sfxge: correct event queue interrupt moderation timer quanta
Submitted by: Andrew Lee <alee at solarflare.com> Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor)
|
#
280563 |
|
25-Mar-2015 |
arybchik |
MFC: 279141
sfxge: style fixes and cleanup
Sync endif comment with conditional. BOOTROM and SIENA_BOOTROM are the same, but highlight that it is Siena. Restore commented out assertion. Sync comments with out-of-tree driver.
Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor)
|
#
280555 |
|
25-Mar-2015 |
arybchik |
MFC: 279078
sfxge: add assertions that required event handlers are implemented
efx_ev_mcdi() does not assert or check that all event handlers it calls are non-null. Add assertions at the top for all required event handlers, as some events (in the case of this bug, monitor events) are rare.
Submitted by: Ben Hutchings Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor)
|
#
280550 |
|
25-Mar-2015 |
arybchik |
MFC: 279048
sfxge: add Florence R7 turbo mode support to common code
Submitted by: Andrew Lee <alee at solarflare.com> Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor)
|
#
280545 |
|
25-Mar-2015 |
arybchik |
MFC: 278942
sfxge: fix broken MCDI_EV_FIELD() macro
Submitted by: Andrew Lee <alee at solarflare.com> Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor)
|
#
280535 |
|
25-Mar-2015 |
arybchik |
MFC: 278839
sfxge: style fixes
Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor)
|
#
280510 |
|
25-Mar-2015 |
arybchik |
MFC: 277886
sfxge: Make it possible to build without EVQ statistics
Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor)
|
#
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.
|
#
280588 |
|
25-Mar-2015 |
arybchik |
MFC: 279182
sfxge: correct event queue interrupt moderation timer quanta
Submitted by: Andrew Lee <alee at solarflare.com> Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor)
|
#
280563 |
|
25-Mar-2015 |
arybchik |
MFC: 279141
sfxge: style fixes and cleanup
Sync endif comment with conditional. BOOTROM and SIENA_BOOTROM are the same, but highlight that it is Siena. Restore commented out assertion. Sync comments with out-of-tree driver.
Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor)
|
#
280555 |
|
25-Mar-2015 |
arybchik |
MFC: 279078
sfxge: add assertions that required event handlers are implemented
efx_ev_mcdi() does not assert or check that all event handlers it calls are non-null. Add assertions at the top for all required event handlers, as some events (in the case of this bug, monitor events) are rare.
Submitted by: Ben Hutchings Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor)
|
#
280550 |
|
25-Mar-2015 |
arybchik |
MFC: 279048
sfxge: add Florence R7 turbo mode support to common code
Submitted by: Andrew Lee <alee at solarflare.com> Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor)
|
#
280545 |
|
25-Mar-2015 |
arybchik |
MFC: 278942
sfxge: fix broken MCDI_EV_FIELD() macro
Submitted by: Andrew Lee <alee at solarflare.com> Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor)
|
#
280535 |
|
25-Mar-2015 |
arybchik |
MFC: 278839
sfxge: style fixes
Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor)
|
#
280510 |
|
25-Mar-2015 |
arybchik |
MFC: 277886
sfxge: Make it possible to build without EVQ statistics
Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor)
|
#
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.
|