ACK: [Bionic][PULL] sfc: patches for LP#1836635

Kleber Souza kleber.souza at canonical.com
Tue Jul 23 12:30:34 UTC 2019


On 7/15/19 10:09 PM, Mauricio Faria de Oliveira wrote:
> BugLink: https://bugs.launchpad.net/bugs/1836635
> 
> [Impact] 
> 
>  * Support for Solarflare X2542 network adapter
>    (Medford2 / SFC9250) in the sfc driver.
> 
>  * This network adapter is present on recent hardware,
>    at least HP 2019 and Dell PowerEdge R740xd systems.
> 
>  * On recent-hardware deployments that would rather use
>    the Bionic LTS / GA supported kernel and cannot move
>    to HWE kernels this adapter is non functional at all.
> 
> [Test Case]
> 
>  * The X2542 adapter has been exercised with iperf3 and nc
>    across 2 hosts on 25G link speed w/ MTUs 1400/1500/9000
>    on both directions, for 1 week.
> 
>    Its performance is on par with the Cosmic 4.18 kernel
>    (which contains all these patches) and the out-of-tree
>    driver from the vendor.
> 
>  * The 7000 series adapter (for regression testing an old model,
>    supported previously) has been exercised with iperf and netperf
>    (TCP_STREAM, UDP_STREAM, TCP_RR, UDP_RR, and TCP_CRR) in one
>    host (client/server in different adapter ports isolated with
>    network namespaces, so traffic goes through the network switch),
>    on 10G link speed on MTUs 1500/9000, for 1 weekend. 
> 
>    No regressions observed between the original and test kernels.
> 
> [Regression Potential]
> 
>  * The patchset touches a lot of the sfc driver, so the potential
>    for regression definitely exists. Thus, a lot of consideration
>    and testing happened:
> 
>  * It has been tested on other adapter which uses the old code,
>    and no regressions were found so far (see 7000 series above).
> 
>  * The patchset is exclusively cherry-picks, no single backport.
> 
>  * The patchset essentially moves the Bionic driver up in the
>    upstream 'git log --oneline -- drivers/net/ethernet/sfc/':
> 
>    - since commit d4a7a8893d4c ("sfc: pass valid pointers from efx_enqueue_unwind")
>    - until commit 7f61e6c6279b ("sfc: support FEC configuration through ethtool")
>    - except for 2 commits (not needed / unrelated)
>      - commit 42356d9a137b ("sfc: support RSS spreading of ethtool ntuple filters")
>      - commit 9baeb5eb1f83 ("sfc: falcon: remove duplicated bit-wise or of LOOPBACK_SGMII")
>    - plus 2 more recent commits (fixes)
>      - commit 458bd99e4974 ("sfc: remove ctpio_dmabuf_start from stats")
>      - commit 0c235113b3c4 ("sfc: stop the TX queue before pushing new buffers")

Acked-by: Kleber Sacilotto de Souza <kleber.souza at canonical.com>

Thanks,
Kleber

> 
> ---
> 
> The following changes since commit 6be28bb37c80aa9365eee74646f4138b9aee3295:
> 
>   powerpc/pseries: Fix unitialized timer reset on migration (2019-07-12 08:36:18 -0700)
> 
> are available in the Git repository at:
> 
>   https://git.launchpad.net/~mfo/+git/bionic-linux lp1836635
> 
> for you to fetch changes up to 980682f7783b476a6d77f3a1a4ff0e6728bac515:
> 
>   sfc: stop the TX queue before pushing new buffers (2019-07-15 16:17:16 -0300)
> 
> ----------------------------------------------------------------
> Bert Kenward (6):
>       sfc: update EF10 register definitions
>       sfc: populate the timer reload field
>       sfc: expose CTPIO stats on NICs that support them
>       sfc: remove tx and MCDI handling from NAPI budget consideration
>       sfc: add suffix to large constant in ptp
>       sfc: remove ctpio_dmabuf_start from stats
> 
> Edward Cree (14):
>       sfc: make mem_bar a function rather than a constant
>       sfc: support VI strides other than 8k
>       sfc: add Medford2 (SFC9250) PCI Device IDs
>       sfc: improve PTP error reporting
>       sfc: update MCDI protocol headers
>       sfc: support variable number of MAC stats
>       sfc: expose FEC stats on Medford2
>       sfc: basic MCDI mapping of 25/50/100G link speeds
>       sfc: support the ethtool ksettings API properly so that 25/50/100G works
>       sfc: add bits for 25/50/100G supported/advertised speeds
>       sfc: on 8000 series use TX queues for TX timestamps
>       sfc: support second + quarter ns time format for receive datapath
>       sfc: update MCDI protocol headers
>       sfc: support FEC configuration through ethtool
> 
> Laurence Evans (3):
>       sfc: simplify RX datapath timestamping
>       sfc: support separate PTP and general timestamping
>       sfc: support Medford2 frequency adjustment format
> 
> Martin Habets (7):
>       sfc: handle TX timestamps in the normal data path
>       sfc: add function to determine which TX timestamping method to use
>       sfc: use main datapath for HW timestamps if available
>       sfc: only enable TX timestamping if the adapter is licensed for it
>       sfc: MAC TX timestamp handling on the 8000 series
>       sfc: only advertise TX timestamping if we have the license for it
>       sfc: stop the TX queue before pushing new buffers
> 
> kbuild test robot (1):
>       sfc: mark some unexported symbols as static
> 
>  drivers/net/ethernet/sfc/ef10.c       |  361 ++-
>  drivers/net/ethernet/sfc/ef10_regs.h  |   46 +-
>  drivers/net/ethernet/sfc/efx.c        |   66 +-
>  drivers/net/ethernet/sfc/efx.h        |    9 +-
>  drivers/net/ethernet/sfc/ethtool.c    |   38 +-
>  drivers/net/ethernet/sfc/farch.c      |   26 +-
>  drivers/net/ethernet/sfc/io.h         |   19 +-
>  drivers/net/ethernet/sfc/mcdi.h       |    3 +
>  drivers/net/ethernet/sfc/mcdi_pcol.h  | 4859 ++++++++++++++++++++++++++-------
>  drivers/net/ethernet/sfc/mcdi_port.c  |  318 ++-
>  drivers/net/ethernet/sfc/net_driver.h |   41 +-
>  drivers/net/ethernet/sfc/nic.h        |   27 +
>  drivers/net/ethernet/sfc/ptp.c        |  370 ++-
>  drivers/net/ethernet/sfc/siena.c      |   12 +-
>  drivers/net/ethernet/sfc/tx.c         |   54 +-
>  15 files changed, 4976 insertions(+), 1273 deletions(-)
> 




More information about the kernel-team mailing list