[SRU][J:linux-azure][PULL v3] Additional Mana Patch Requests for 5.15 Kernel

John Cabaj john.cabaj at canonical.com
Thu Mar 27 15:31:51 UTC 2025


BugLink: https://bugs.launchpad.net/bugs/2103651

SRU Justification

[Impact]

* Microsoft requested additional MANA patches for 5.15 to bring 
important fixes from 6.8 and newer.
* Requires previous commit ("net: mana: Fix oversized sge0 for GSO 
packets") to be reverted and re-applied on top, as the remainder of the 
patchset would cause incorrect code addition during cherry-pick

[Fix]

* 12 clean cherry-picks from upstream

3e64bb2ae7d9: "net: mana: cleanup mana struct after debugfs_remove()"
87c4b5e8a6b6: "scsi: storvsc: Set correct data length for sending SCSI 
command without payload"
368809a586bd: "net: mana: Add get_link and get_link_ksettings in ethtool"
9480d2fac80b: "net: mana: Cleanup "mana" debugfs dir after cleanup of 
all children"
232ffe595480: "net: netvsc: Update default VMBus channels"
51c617891b64: "net: mana: Fix the extra HZ in mana_hwc_send_request"
77b356028961: "net: mana: Configure hwc timeout from hardware"
77be12274124: "net: mana: Fix perf regression: remove rx_cqes, tx_cqes 
counters"
87b01cb815c7: "net: mana: Fix possible double free in error handling path"
12d56dcd1fec: "net: mana: Increase the DEF_RX_BUFFERS_PER_QUEUE to 1024"
ac30ab1488f8: "RDMA/mana_ib: query device capabilities"
2948a31f3f4f: "RDMA/mana_ib: register RDMA device with GDMA"

* 5 backports from upstream
a43e8e9ffa0d: "net: mana: Fix oversized sge0 for GSO packets"
8942bba12fbb: "net: mana: Enable debugfs files for MANA device"
3d133ab4a367: "net: mana: Add gdma stats to ethtool output for mana"
7f4df1601556: "net: mana: Add new MANA VF performance counters for 
easier troubleshooting"
6ce8eb462c1b: "net: mana: Implement get_ringparam/set_ringparam for mana"

* 1 revert (from jammy:linux-azure)
ce02deecee38: Revert "net: mana: Fix oversized sge0 for GSO packets"

[Test Plan]

* Compile tested
* Boot tested on Standard_A2_v2 instance
* Microsoft tested successfully

[Regression potential]

* Several of the backports took a bit of effort. For example, 5.15 
doesn't have 7462494408cd: "ethtool: extend ringparam setting/getting 
API with rx_buf_len" so the mana_ethtool changes requires function 
parameter modifications to match 5.15. Additional, 5.15 doesn't have 
504148fedb85: "net: add skb_[inner_]tcp_all_headers helpers", so 
previous arithmetic had to be re-implemented. There were a couple of 
other places where previous functions were maintained rather than 
bringing in unknown context from the commit.
* Most changes were to MANA related source code, so leaning heavily on 
Microsoft to test there, but it is localized. MANA changes could lead to 
network instability.
* Other changes to scsi and hyperv were small and clean cherry-picks 
from upstream, so expect little regression risk there.

[Other info]

* SF#00408239
* SF#00406456
* SF#00407579

v2:

* Revert "net: mana: Fix oversized sge0 for GSO packets" and re-apply on 
top to fix incorrect code addition during cherry-pick

v3:

* Adding 3e64bb2ae7d9: "net: mana: cleanup mana struct after 
debugfs_remove()"
* Fixing a few formatting nits

----------------------------------------------------------------
The following changes since commit ffb57d7416f896158a5f990a5a10e275ee92145c:

   UBUNTU: Ubuntu-azure-5.15.0-1085.94 (2025-03-21 16:53:00 -0500)

are available in the Git repository at:

  
https://git.launchpad.net/~john-cabaj/ubuntu/+source/linux-azure/+git/jammy 
lp2103651

for you to fetch changes up to 9dd690003b67cead1ef24488218c8e0325572fc1:

   net: mana: cleanup mana struct after debugfs_remove() (2025-03-27 
10:23:36 -0500)

----------------------------------------------------------------
Erni Sri Satya Vennela (2):
       net: netvsc: Update default VMBus channels
       net: mana: Add get_link and get_link_ksettings in ethtool

Haiyang Zhang (2):
       net: mana: Fix perf regression: remove rx_cqes, tx_cqes counters
       net: mana: Fix oversized sge0 for GSO packets

John Cabaj (1):
       Revert "net: mana: Fix oversized sge0 for GSO packets"

Long Li (3):
       RDMA/mana_ib: register RDMA device with GDMA
       RDMA/mana_ib: query device capabilities
       scsi: storvsc: Set correct data length for sending SCSI command 
without payload

Ma Ke (1):
       net: mana: Fix possible double free in error handling path

Shradha Gupta (7):
       net: mana: Implement get_ringparam/set_ringparam for mana
       net: mana: Increase the DEF_RX_BUFFERS_PER_QUEUE to 1024
       net: mana: Add new MANA VF performance counters for easier 
troubleshooting
       net: mana: Add gdma stats to ethtool output for mana
       net: mana: Enable debugfs files for MANA device
       net: mana: Cleanup "mana" debugfs dir after cleanup of all children
       net: mana: cleanup mana struct after debugfs_remove()

Souradeep Chakrabarti (2):
       net: mana: Configure hwc timeout from hardware
       net: mana: Fix the extra HZ in mana_hwc_send_request

  drivers/infiniband/hw/mana/cq.c                    |   2 +-
  drivers/infiniband/hw/mana/device.c                |  31 
+++++++++++++++----
  drivers/infiniband/hw/mana/main.c                  |  69 
++++++++++++++++++++++++++++++++----------
  drivers/infiniband/hw/mana/mana_ib.h               |  50 
+++++++++++++++++++++++++++++++
  drivers/infiniband/hw/mana/qp.c                    |  19 ++++++------
  drivers/net/ethernet/microsoft/mana/gdma_main.c    |  87 
+++++++++++++++++++++++++++++++++++++++++++++++++++--
  drivers/net/ethernet/microsoft/mana/hw_channel.c   |  24 ++++++++++++++-
  drivers/net/ethernet/microsoft/mana/mana_en.c      | 216 
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------
  drivers/net/ethernet/microsoft/mana/mana_ethtool.c | 146 
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
  drivers/net/hyperv/hyperv_net.h                    |   2 +-
  drivers/net/hyperv/netvsc_drv.c                    |   3 +-
  drivers/scsi/storvsc_drv.c                         |   1 +
  include/net/mana/gdma.h                            |  31 
+++++++++++++++++--
  include/net/mana/hw_channel.h                      |   5 ++++
  include/net/mana/mana.h                            | 134 
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
  15 files changed, 763 insertions(+), 57 deletions(-)



More information about the kernel-team mailing list