History log of /freebsd-10-stable/sys/dev/sfxge/sfxge.h
Revision Date Author Comments
# 342529 26-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


# 342523 26-Dec-2018 arybchik

MFC r341782

sfxge(4): populate per-event queue stats in sysctl

In order to find out why the first event queue and corresponding
interrupt is triggered more frequent, it is useful to know which
events go to each event queue.

Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18418


# 342476 26-Dec-2018 arybchik

MFC r312868

sfxge(4): cleanup: remove unused soft context struct member rxq_cache

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.


# 311767 09-Jan-2017 arybchik

MFC r311639

sfxge(4): treat EFX_LINK_UNKOWN as link down

It is safer to consider EFX_LINK_UNKNOWN as link down.
link_mode is set to EFX_LINK_UNKNOWN on port stop and fini.

Sponsored by: Solarflare Communications, Inc.


# 310830 30-Dec-2016 arybchik

MFC r310627

sfxge(4): do not limit driver RSS table to RSS channels max

Specification of entire RSS table in the driver allows to spread traffic
more equally across CPUs/RSS channels if number of RSS channels is not
power of 2.

Sponsored by: Solarflare Communications, Inc.


# 301388 04-Jun-2016 arybchik

MFC r300607

sfxge(4): cleanup: update copyright to 2016

Sponsored by: Solarflare Communications, Inc.


# 301315 04-Jun-2016 arybchik

MFC r301105

sfxge(4): cope with code duplication on SW events composition

Sponsored by: Solarflare Communications, Inc.


# 301314 04-Jun-2016 arybchik

MFC r301075

sfxge(4): avoid code duplication in SW events definition

Sponsored by: Solarflare Communications, Inc.


# 301313 04-Jun-2016 arybchik

MFC r301067

sfxge(4): move definition of the SW events to sfxge.h

Tx flush done event is defined and Rx-specific header is not a good
place for it.

Sponsored by: Solarflare Communications, Inc.


# 294390 20-Jan-2016 arybchik

MFC r294077

sfxge: support FATSOv2

Reviewed by: gnn
Sponsored by: Solarflare Communications, Inc.


# 293946 14-Jan-2016 arybchik

MFC r291843

sfxge: support for MCDI logging implemented

Submitted by: Artem V. Andreev <Artem.Andreev at oktetlabs.ru>
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.


# 280612 25-Mar-2015 arybchik

MFC: 280432

sfxge: cleanup: add a blank line before each #if to improve readability

Sponsored by: Solarflare Communications, Inc.


# 280606 25-Mar-2015 arybchik

MFC: 280376

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.
Original Differential Revision: https://reviews.freebsd.org/D2081


# 280541 25-Mar-2015 arybchik

MFC: 278940

sfxge: add driver context member with number of event queues

Mainly to unify with similar member for transmit and receive queues.
It will be used in the future for resources allocation processing.

Sponsored by: Solarflare Communications, Inc.
Approved by: gnn (mentor)


# 280539 25-Mar-2015 arybchik

MFC: 278939

sfxge: add driver context member with number of receive queues

Mainly to unify with similar member for transmit queues.

Sponsored by: Solarflare Communications, Inc.
Approved by: gnn (mentor)


# 280538 25-Mar-2015 arybchik

MFC: 278938

sfxge: add driver context member with number of transmit queues

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)


# 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)


# 280518 25-Mar-2015 arybchik

MFC: 277894

sfxge: implemented parameter to restrict RSS channels

Submitted by: Artem V. Andreev <Artem.Andreev at oktetlabs.ru>
Sponsored by: Solarflare Communications, Inc.
Approved by: gnn (mentor)


# 280511 25-Mar-2015 arybchik

MFC: 277887

sfxge: Remove extra cache-line alignment and reorder sfxge_evq_t

Remove the first member alignment to cacheline since it is nop.
Use __aligned() for the whole structure to make sure that the structure
size is cacheline aligned.
Remove lock alignment to make the structure smaller and fit all members
used on event queue processing into one cacheline (128 bytes) on x86-64.
The lock is obtained as well from different context when event queue
statistics are retrived from sysctl context, but it is infrequent.
Reorder members to avoid padding and go in usage order on event
processing.
As the result all structure members used on event queue processing fit
into exactly one cacheline (128 byte) now.

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)


# 280508 25-Mar-2015 arybchik

MFC: 277884

sfxge: Change sfxge_ev_qpoll() proto to avoid EVQ pointers array access

It was the only place on data path where sc->evq array is accessed.

Sponsored by: Solarflare Communications, Inc.
Approved by: gnn (mentor)


# 280504 25-Mar-2015 arybchik

MFC: 272330

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.


# 280502 25-Mar-2015 arybchik

MFC: 272328

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.


# 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.


# 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.


# 280612 25-Mar-2015 arybchik

MFC: 280432

sfxge: cleanup: add a blank line before each #if to improve readability

Sponsored by: Solarflare Communications, Inc.


# 280606 25-Mar-2015 arybchik

MFC: 280376

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.
Original Differential Revision: https://reviews.freebsd.org/D2081


# 280541 25-Mar-2015 arybchik

MFC: 278940

sfxge: add driver context member with number of event queues

Mainly to unify with similar member for transmit and receive queues.
It will be used in the future for resources allocation processing.

Sponsored by: Solarflare Communications, Inc.
Approved by: gnn (mentor)


# 280539 25-Mar-2015 arybchik

MFC: 278939

sfxge: add driver context member with number of receive queues

Mainly to unify with similar member for transmit queues.

Sponsored by: Solarflare Communications, Inc.
Approved by: gnn (mentor)


# 280538 25-Mar-2015 arybchik

MFC: 278938

sfxge: add driver context member with number of transmit queues

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)


# 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)


# 280518 25-Mar-2015 arybchik

MFC: 277894

sfxge: implemented parameter to restrict RSS channels

Submitted by: Artem V. Andreev <Artem.Andreev at oktetlabs.ru>
Sponsored by: Solarflare Communications, Inc.
Approved by: gnn (mentor)


# 280511 25-Mar-2015 arybchik

MFC: 277887

sfxge: Remove extra cache-line alignment and reorder sfxge_evq_t

Remove the first member alignment to cacheline since it is nop.
Use __aligned() for the whole structure to make sure that the structure
size is cacheline aligned.
Remove lock alignment to make the structure smaller and fit all members
used on event queue processing into one cacheline (128 bytes) on x86-64.
The lock is obtained as well from different context when event queue
statistics are retrived from sysctl context, but it is infrequent.
Reorder members to avoid padding and go in usage order on event
processing.
As the result all structure members used on event queue processing fit
into exactly one cacheline (128 byte) now.

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)


# 280508 25-Mar-2015 arybchik

MFC: 277884

sfxge: Change sfxge_ev_qpoll() proto to avoid EVQ pointers array access

It was the only place on data path where sc->evq array is accessed.

Sponsored by: Solarflare Communications, Inc.
Approved by: gnn (mentor)


# 280504 25-Mar-2015 arybchik

MFC: 272330

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.


# 280502 25-Mar-2015 arybchik

MFC: 272328

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.


# 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.