Skip to content

Conversation

@PlaidCat
Copy link
Collaborator

Update process (This kernel CentOS base for 6.12.0-55)

  • Kernel History Rebuild Process for all src.rpms hosted by RESF
  • Create rlc-10/6.12.0-55.X.1.el10_0 branch
  • Check if any maintained code is included in the new el release.
  • Cherry-pick all code from previous branch into new branch (skipping unneeded code)
    • Fix conflicts as they arise
  • Build and Test

Removed Commits

[rolling release update] Checking if any of the commits from the old rolling release are already present in the new base branch
- Commit ed022a97650c9b17bf43c6ceeb085c853e868a19 already present in new base branch: ed022a97650c9b17bf43c6ceeb085c853e868a19 net: mana: Handle Reset Request from MANA NIC
- Commit 18759b28d0c751ee3e17416d7dd86a78ff4e67a2 already present in new base branch: 18759b28d0c751ee3e17416d7dd86a78ff4e67a2 net: mana: Add handler for hardware servicing events
- Commit daed11d430de977fe69262894e2075e17f32c0b6 already present in new base branch: daed11d430de977fe69262894e2075e17f32c0b6 net: mana: Expose additional hardware counters for drop and TC via ethtool.
- Commit 62f92ab3cf272aa5778e3a1e163e63cdb3735a47 already present in new base branch: 62f92ab3cf272aa5778e3a1e163e63cdb3735a47 net: mana: Switch to page pool for jumbo frames
- Commit 71e77cb41b707ff97f1d391b7f61cab22fbb55d1 already present in new base branch: 71e77cb41b707ff97f1d391b7f61cab22fbb55d1 net: mana: Support holes in device list reply msg
- Commit 3fcd9114b876c60cd90b3fbdb0b92657713685f1 already present in new base branch: 3fcd9114b876c60cd90b3fbdb0b92657713685f1 RDMA/mana_ib: Handle net event for pointing to the current netdev
- Commit 62d402045e72ba87a6cc74a98b0eeec4fa320cc2 already present in new base branch: 62d402045e72ba87a6cc74a98b0eeec4fa320cc2 net: mana: Change the function signature of mana_get_primary_netdev_rcu
- Commit 78988ab9a43ec76e01e96c0fc8dac84baa02e3f5 already present in new base branch: 78988ab9a43ec76e01e96c0fc8dac84baa02e3f5 net: mana: Add debug logs in MANA network driver
- Commit 4069875027b4cc0ad78bbe7f353f79d40a77bd4b already present in new base branch: 4069875027b4cc0ad78bbe7f353f79d40a77bd4b net: mana: Allow tso_max_size to go up-to GSO_MAX_SIZE
- Commit ed1c255db74b754e4e1ea6029998f0d195407b3c already present in new base branch: ed1c255db74b754e4e1ea6029998f0d195407b3c hv_netvsc: Use VF's tso_max_size value when data path is VF
- Commit 20dd3765d19f426c648432aa86006ce628ff0123 already present in new base branch: 20dd3765d19f426c648432aa86006ce628ff0123 net: mana: Add support for Multi Vports on Bare metal

Forward Port Process

[jmaple@devbox kernel-src-tree]$ cat ../RR.rlc-10_6.12.0-55.32.1.el10_0.log
[rolling release update] Rolling Product:  rlc-10
[rolling release update] Checking out branch:  rlc-10/6.12.0-55.32.1.el10_0
[rolling release update] Gathering all the RESF kernel Tags
b'919393e21315 (tag: resf_kernel-6.12.0-55.32.1.el10_0) Rebuild rocky10_0 with kernel-6.12.0-55.32.1.el10_0'
b'5ec8b6405932 (tag: resf_kernel-6.12.0-55.31.1.el10_0) Rebuild rocky10_0 with kernel-6.12.0-55.31.1.el10_0'
b'0b50c952cd24 (tag: resf_kernel-6.12.0-55.30.1.el10_0) Rebuild rocky10_0 with kernel-6.12.0-55.30.1.el10_0'
b'065ddba2712a (tag: resf_kernel-6.12.0-55.29.1.el10_0) Rebuild rocky10_0 with kernel-6.12.0-55.29.1.el10_0'
b'9c864bb5ae3f (tag: resf_kernel-6.12.0-55.27.1.el10_0) Rebuild rocky10_0 with kernel-6.12.0-55.27.1.el10_0'
b'487af0f6f40e (tag: resf_kernel-6.12.0-55.25.1.el10_0) Rebuild rocky10_0 with kernel-6.12.0-55.25.1.el10_0'
b'ffbe2344d41a (tag: resf_kernel-6.12.0-55.24.1.el10_0) Rebuild rocky10_0 with kernel-6.12.0-55.24.1.el10_0'
b'9b9ae5b20f34 (tag: resf_kernel-6.12.0-55.22.1.el10_0) Rebuild rocky10_0 with kernel-6.12.0-55.22.1.el10_0'
b'fef28841a44f (tag: resf_kernel-6.12.0-55.21.1.el10_0) Rebuild rocky10_0 with kernel-6.12.0-55.21.1.el10_0'
b'3381775694c1 (tag: resf_kernel-6.12.0-55.20.1.el10_0) Rebuild rocky10_0 with kernel-6.12.0-55.20.1.el10_0'
b'072c27213755 (tag: resf_kernel-6.12.0-55.19.1.el10_0, origin/sig-cloud-10/6.12.0-55.19.1.el10_0) Rebuild rocky10_0 with kernel-6.12.0-55.19.1.el10_0'
b'4de01b5748c7 (tag: resf_kernel-6.12.0-55.18.1.el10_0) Rebuild rocky10_0 with kernel-6.12.0-55.18.1.el10_0'
b'71d4955b6748 (tag: resf_kernel-6.12.0-55.17.1.el10_0) Rebuild rocky10_0 with kernel-6.12.0-55.17.1.el10_0'
b'31b726f7bb14 (tag: resf_kernel-6.12.0-55.16.1.el10_0) Rebuild rocky10_0 with kernel-6.12.0-55.16.1.el10_0'
b'defbb7341054 (tag: resf_kernel-6.12.0-55.14.1.el10_0) Rebuild rocky10_0 with kernel-6.12.0-55.14.1.el10_0'
b'abf881e2d199 (tag: resf_kernel-6.12.0-55.13.1.el10_0) Rebuild rocky10_0 with kernel-6.12.0-55.13.1.el10_0'
b'd3c6fc1a3a45 (tag: resf_kernel-6.12.0-55.12.1.el10_0) Rebuild rocky10_0 with kernel-6.12.0-55.12.1.el10_0'
b'ce19035f5d30 (tag: resf_kernel-6.12.0-55.11.1.el10_0) Rebuild rocky10_0 with kernel-6.12.0-55.11.1.el10_0'
[rolling release update] Old Rolling Branch Tags:  [b'919393e21315', b'5ec8b6405932', b'0b50c952cd24', b'065ddba2712a', b'9c864bb5ae3f', b'487af0f6f40e', b'ffbe2344d41a', b'9b9ae5b20f34', b'fef28841a44f', b'3381775694c1', b'072c27213755', b'4de01b5748c7', b'71d4955b6748', b'31b726f7bb14', b'defbb7341054', b'abf881e2d199', b'd3c6fc1a3a45', b'ce19035f5d30']
[rolling release update] Checking out branch:  rocky10_0
[rolling release update] Gathering all the RESF kernel Tags
b'64262157f189 (HEAD -> rocky10_0, tag: resf_kernel-6.12.0-55.39.1.el10_0, origin/rocky10_0) Rebuild rocky10_0 with kernel-6.12.0-55.39.1.el10_0'
b'352fd0c92964 (tag: resf_kernel-6.12.0-55.38.1.el10_0) Rebuild rocky10_0 with kernel-6.12.0-55.38.1.el10_0'
b'67dbae5e01fe (tag: resf_kernel-6.12.0-55.37.1.el10_0) Rebuild rocky10_0 with kernel-6.12.0-55.37.1.el10_0'
b'f7e49cec2938 (tag: resf_kernel-6.12.0-55.34.1.el10_0) Rebuild rocky10_0 with kernel-6.12.0-55.34.1.el10_0'
b'919393e21315 (tag: resf_kernel-6.12.0-55.32.1.el10_0) Rebuild rocky10_0 with kernel-6.12.0-55.32.1.el10_0'
b'5ec8b6405932 (tag: resf_kernel-6.12.0-55.31.1.el10_0) Rebuild rocky10_0 with kernel-6.12.0-55.31.1.el10_0'
b'0b50c952cd24 (tag: resf_kernel-6.12.0-55.30.1.el10_0) Rebuild rocky10_0 with kernel-6.12.0-55.30.1.el10_0'
b'065ddba2712a (tag: resf_kernel-6.12.0-55.29.1.el10_0) Rebuild rocky10_0 with kernel-6.12.0-55.29.1.el10_0'
b'9c864bb5ae3f (tag: resf_kernel-6.12.0-55.27.1.el10_0) Rebuild rocky10_0 with kernel-6.12.0-55.27.1.el10_0'
b'487af0f6f40e (tag: resf_kernel-6.12.0-55.25.1.el10_0) Rebuild rocky10_0 with kernel-6.12.0-55.25.1.el10_0'
b'ffbe2344d41a (tag: resf_kernel-6.12.0-55.24.1.el10_0) Rebuild rocky10_0 with kernel-6.12.0-55.24.1.el10_0'
b'9b9ae5b20f34 (tag: resf_kernel-6.12.0-55.22.1.el10_0) Rebuild rocky10_0 with kernel-6.12.0-55.22.1.el10_0'
b'fef28841a44f (tag: resf_kernel-6.12.0-55.21.1.el10_0) Rebuild rocky10_0 with kernel-6.12.0-55.21.1.el10_0'
b'3381775694c1 (tag: resf_kernel-6.12.0-55.20.1.el10_0) Rebuild rocky10_0 with kernel-6.12.0-55.20.1.el10_0'
b'072c27213755 (tag: resf_kernel-6.12.0-55.19.1.el10_0, origin/sig-cloud-10/6.12.0-55.19.1.el10_0) Rebuild rocky10_0 with kernel-6.12.0-55.19.1.el10_0'
b'4de01b5748c7 (tag: resf_kernel-6.12.0-55.18.1.el10_0) Rebuild rocky10_0 with kernel-6.12.0-55.18.1.el10_0'
b'71d4955b6748 (tag: resf_kernel-6.12.0-55.17.1.el10_0) Rebuild rocky10_0 with kernel-6.12.0-55.17.1.el10_0'
b'31b726f7bb14 (tag: resf_kernel-6.12.0-55.16.1.el10_0) Rebuild rocky10_0 with kernel-6.12.0-55.16.1.el10_0'
b'defbb7341054 (tag: resf_kernel-6.12.0-55.14.1.el10_0) Rebuild rocky10_0 with kernel-6.12.0-55.14.1.el10_0'
b'abf881e2d199 (tag: resf_kernel-6.12.0-55.13.1.el10_0) Rebuild rocky10_0 with kernel-6.12.0-55.13.1.el10_0'
b'd3c6fc1a3a45 (tag: resf_kernel-6.12.0-55.12.1.el10_0) Rebuild rocky10_0 with kernel-6.12.0-55.12.1.el10_0'
b'ce19035f5d30 (tag: resf_kernel-6.12.0-55.11.1.el10_0) Rebuild rocky10_0 with kernel-6.12.0-55.11.1.el10_0'
[rolling release update] New Base Branch Tags:  [b'64262157f189', b'352fd0c92964', b'67dbae5e01fe', b'f7e49cec2938', b'919393e21315', b'5ec8b6405932', b'0b50c952cd24', b'065ddba2712a', b'9c864bb5ae3f', b'487af0f6f40e', b'ffbe2344d41a', b'9b9ae5b20f34', b'fef28841a44f', b'3381775694c1', b'072c27213755', b'4de01b5748c7', b'71d4955b6748', b'31b726f7bb14', b'defbb7341054', b'abf881e2d199', b'd3c6fc1a3a45', b'ce19035f5d30']
[rolling release update] Latest RESF tag sha:  b'919393e21315'
"919393e213154b6f3c333a088edd875ed16c36ae Rebuild rocky10_0 with kernel-6.12.0-55.32.1.el10_0"
[rolling release update] Checking out old rolling branch:  rlc-10/6.12.0-55.32.1.el10_0
[rolling release update] Finding the CIQ Kernel and Associated Upstream commits between the last resf tag and HEAD
[rolling release update] Last RESF tag sha:  b'919393e21315'
[rolling release update] Total Commit in old branch:  18
{ "CIQ COMMMIT" : "UPSTREAM COMMMIT" }
Printing first 5 and last 5 commits
{
  "ed022a97650c9b17bf43c6ceeb085c853e868a19": "fbe346ce9d626680a4dd0f079e17c7b5dd32ffad",
  "18759b28d0c751ee3e17416d7dd86a78ff4e67a2": "7768c5f417336fa58dbfef9bb7ecd7eeec6d8886",
  "daed11d430de977fe69262894e2075e17f32c0b6": "c09ef59e17c6921c577d54bc8da4331b955d01a7",
  "62f92ab3cf272aa5778e3a1e163e63cdb3735a47": "fa37a8849634db2dd3545116873da8cf4b1e67c6",
  "71e77cb41b707ff97f1d391b7f61cab22fbb55d1": "2fc8a346625eb1abfe202062c7e6a13d76cde5ea"
}
{
  "1e5498db9bceaf7d21643a70a3fdf06cb8d6799a": "4f98616b855cb0e3b5917918bb07b44728eb96ea",
  "6e008a6e1f089b707a54b8a1606fb81d593bfdea": "380b75d3078626aadd0817de61f3143f5db6e393",
  "2f39408028876fc67fe47cd6207857ac8d660d34": "b2f966568faaad326de97481096d0f3dc0971c43",
  "f537c653eeafb0e21d75f06740cf287d82d17a68": "a9c0b33ef2306327dd2db02c6274107065ff9307",
  "20dd3765d19f426c648432aa86006ce628ff0123": "290e5d3c49f687c1567bde634dc33d57b0674919"
}
[rolling release update] Checking out new base branch:  rocky10_0
[rolling release update] Finding the kernel version for the new rolling release
b'64262157f189 (HEAD -> rocky10_0, tag: resf_kernel-6.12.0-55.39.1.el10_0, origin/rocky10_0) Rebuild rocky10_0 with kernel-6.12.0-55.39.1.el10_0'
<re.Match object; span=(0, 71), match=b'64262157f189 (HEAD -> rocky10_0, tag: resf_kerne>
[rolling release update} New Branch to create  rlc-10/6.12.0-55.39.1.el10_0
[rolling release update] Check if branch Exists:  rlc-10/6.12.0-55.39.1.el10_0
Branch rlc-10/6.12.0-55.39.1.el10_0 does not exists creating
[rolling release update] Creating new branch for PR:  jmaple_rlc-10/6.12.0-55.39.1.el10_0
[rolling release update] Creating Map of all new commits from last rolling release fork
[rolling release update] Total Commit in new branch:  76
{ "CIQ COMMMIT" : "UPSTREAM COMMMIT" }
Printing first 5 and last 5 commits
{
  "64262157f1893cae29268fad23d6a41747e0694a": "",
  "793eed6618c7f914a5c9ec89592a16404cf08eb1": "7c0884fcd2ddde0544d2e77f297ae461e1f53f58",
  "1e3ceda89990203cbc31dce7e364b664ef379f31": "d832ccbc301fbd9e5a1d691bdcf461cdb514595f",
  "61b035fd2915011fb31e2bffa3f61c07ce5f05af": "89f0addeee3cb2dc49837599330ed9c4612f05b0",
  "e5e168e3ccc9fe65afc2156a93f5ef193c9d0ba9": "ecfd41166b72b67d3bdeb88d224ff445f6163869"
}
{
  "58fa652cde359bda6044a8c7fbdca3f140f6f1e0": "cffd0441872e7f6b1fce5e78fb1c99187a291330",
  "76d785fe4b4476f4e3e6893eacc172ad3c00aa4c": "12f147ddd6de7382dad54812e65f3f08d05809fc",
  "9101065093ee3bfc64f4876f0937d8daa406d851": "8741d0737921ec1c03cf59aebf4d01400c2b461a",
  "40d2037f365f8361f6172d8859e8a01f9eb01b22": "ae82eaf4aeea060bb736c3e20c0568b67c701d7d",
  "ef9d3c7620ddbfe37bae4647fdbfbac2207921dd": "c353e8983e0dea5dbba7789033326e1ad34135b7"
}
[rolling release update] Checking if any of the commits from the old rolling release are already present in the new base branch
- Commit ed022a97650c9b17bf43c6ceeb085c853e868a19 already present in new base branch: ed022a97650c9b17bf43c6ceeb085c853e868a19 net: mana: Handle Reset Request from MANA NIC
- Commit 18759b28d0c751ee3e17416d7dd86a78ff4e67a2 already present in new base branch: 18759b28d0c751ee3e17416d7dd86a78ff4e67a2 net: mana: Add handler for hardware servicing events
- Commit daed11d430de977fe69262894e2075e17f32c0b6 already present in new base branch: daed11d430de977fe69262894e2075e17f32c0b6 net: mana: Expose additional hardware counters for drop and TC via ethtool.
- Commit 62f92ab3cf272aa5778e3a1e163e63cdb3735a47 already present in new base branch: 62f92ab3cf272aa5778e3a1e163e63cdb3735a47 net: mana: Switch to page pool for jumbo frames
- Commit 71e77cb41b707ff97f1d391b7f61cab22fbb55d1 already present in new base branch: 71e77cb41b707ff97f1d391b7f61cab22fbb55d1 net: mana: Support holes in device list reply msg
- Commit 3fcd9114b876c60cd90b3fbdb0b92657713685f1 already present in new base branch: 3fcd9114b876c60cd90b3fbdb0b92657713685f1 RDMA/mana_ib: Handle net event for pointing to the current netdev
- Commit 62d402045e72ba87a6cc74a98b0eeec4fa320cc2 already present in new base branch: 62d402045e72ba87a6cc74a98b0eeec4fa320cc2 net: mana: Change the function signature of mana_get_primary_netdev_rcu
- Commit 78988ab9a43ec76e01e96c0fc8dac84baa02e3f5 already present in new base branch: 78988ab9a43ec76e01e96c0fc8dac84baa02e3f5 net: mana: Add debug logs in MANA network driver
- Commit 4069875027b4cc0ad78bbe7f353f79d40a77bd4b already present in new base branch: 4069875027b4cc0ad78bbe7f353f79d40a77bd4b net: mana: Allow tso_max_size to go up-to GSO_MAX_SIZE
- Commit ed1c255db74b754e4e1ea6029998f0d195407b3c already present in new base branch: ed1c255db74b754e4e1ea6029998f0d195407b3c hv_netvsc: Use VF's tso_max_size value when data path is VF
- Commit 20dd3765d19f426c648432aa86006ce628ff0123 already present in new base branch: 20dd3765d19f426c648432aa86006ce628ff0123 net: mana: Add support for Multi Vports on Bare metal
[rolling release update] Removing commits from the new branch
ed022a97650c9b17bf43c6ceeb085c853e868a19 net: mana: Handle Reset Request from MANA NIC
18759b28d0c751ee3e17416d7dd86a78ff4e67a2 net: mana: Add handler for hardware servicing events
daed11d430de977fe69262894e2075e17f32c0b6 net: mana: Expose additional hardware counters for drop and TC via ethtool.
62f92ab3cf272aa5778e3a1e163e63cdb3735a47 net: mana: Switch to page pool for jumbo frames
71e77cb41b707ff97f1d391b7f61cab22fbb55d1 net: mana: Support holes in device list reply msg
3fcd9114b876c60cd90b3fbdb0b92657713685f1 RDMA/mana_ib: Handle net event for pointing to the current netdev
62d402045e72ba87a6cc74a98b0eeec4fa320cc2 net: mana: Change the function signature of mana_get_primary_netdev_rcu
78988ab9a43ec76e01e96c0fc8dac84baa02e3f5 net: mana: Add debug logs in MANA network driver
4069875027b4cc0ad78bbe7f353f79d40a77bd4b net: mana: Allow tso_max_size to go up-to GSO_MAX_SIZE
ed1c255db74b754e4e1ea6029998f0d195407b3c hv_netvsc: Use VF's tso_max_size value when data path is VF
20dd3765d19f426c648432aa86006ce628ff0123 net: mana: Add support for Multi Vports on Bare metal
[rolling release update] Applying the remaining commits to the new branch
Applying commit  "f537c653eeafb0e21d75f06740cf287d82d17a68 tools: hv: Enable debug logs for hv_kvp_daemon"
Applying commit  "2f39408028876fc67fe47cd6207857ac8d660d34 scsi: storvsc: Increase the timeouts to storvsc_timeout"
Applying commit  "6e008a6e1f089b707a54b8a1606fb81d593bfdea Drivers: hv: Allow vmbus_sendpacket_mpb_desc() to create multiple ranges"
Applying commit  "1e5498db9bceaf7d21643a70a3fdf06cb8d6799a hv_netvsc: Use vmbus_sendpacket_mpb_desc() to send VMBus messages"
Applying commit  "86da0c36a16b4f4439020e6b66152ef3a0f6acf0 hv_netvsc: Preserve contiguous PFN grouping in the page buffer array"
Applying commit  "6161d9fb5142e7f4d3dae18008447448659ad545 hv_netvsc: Remove rmsg_pgcnt"
Applying commit  "018b78c67df1ae56dc55ef84fcb5d0b9206758d0 Drivers: hv: vmbus: Remove vmbus_sendpacket_pagebuffer()"

BUILD

[jmaple@devbox code]$ egrep -B 5 -A 5 "\[TIMER\]|^Starting Build" $(ls -t kbuild* | head -n1)
/mnt/code/kernel-src-tree-build
Running make mrproper...
[TIMER]{MRPROPER}: 7s
x86_64 architecture detected, copying config
'configs/kernel-x86_64-rhel.config' -> '.config'
Setting Local Version for build
CONFIG_LOCALVERSION="-jmaple_rlc-10_6.12.0-55.39.1.el10_0-4c42c9d1cc2a"
Making olddefconfig
--
  HOSTCC  scripts/kconfig/util.o
  HOSTLD  scripts/kconfig/conf
#
# configuration written to .config
#
Starting Build
  GEN     arch/x86/include/generated/asm/orc_hash.h
  WRAP    arch/x86/include/generated/uapi/asm/bpf_perf_event.h
  WRAP    arch/x86/include/generated/uapi/asm/errno.h
  WRAP    arch/x86/include/generated/uapi/asm/fcntl.h
  WRAP    arch/x86/include/generated/uapi/asm/ioctl.h
--
  LD [M]  net/qrtr/qrtr.ko
  LD [M]  net/qrtr/qrtr-mhi.ko
  BTF [M] net/hsr/hsr.ko
  BTF [M] net/qrtr/qrtr.ko
  BTF [M] net/qrtr/qrtr-mhi.ko
[TIMER]{BUILD}: 1997s
Making Modules
  SYMLINK /lib/modules/6.12.0-jmaple_rlc-10_6.12.0-55.39.1.el10_0-4c42c9d1cc2a+/build
  INSTALL /lib/modules/6.12.0-jmaple_rlc-10_6.12.0-55.39.1.el10_0-4c42c9d1cc2a+/modules.order
  INSTALL /lib/modules/6.12.0-jmaple_rlc-10_6.12.0-55.39.1.el10_0-4c42c9d1cc2a+/modules.builtin
  INSTALL /lib/modules/6.12.0-jmaple_rlc-10_6.12.0-55.39.1.el10_0-4c42c9d1cc2a+/modules.builtin.modinfo
--
  STRIP   /lib/modules/6.12.0-jmaple_rlc-10_6.12.0-55.39.1.el10_0-4c42c9d1cc2a+/kernel/net/qrtr/qrtr-mhi.ko
  SIGN    /lib/modules/6.12.0-jmaple_rlc-10_6.12.0-55.39.1.el10_0-4c42c9d1cc2a+/kernel/net/hsr/hsr.ko
  SIGN    /lib/modules/6.12.0-jmaple_rlc-10_6.12.0-55.39.1.el10_0-4c42c9d1cc2a+/kernel/net/qrtr/qrtr.ko
  SIGN    /lib/modules/6.12.0-jmaple_rlc-10_6.12.0-55.39.1.el10_0-4c42c9d1cc2a+/kernel/net/qrtr/qrtr-mhi.ko
  DEPMOD  /lib/modules/6.12.0-jmaple_rlc-10_6.12.0-55.39.1.el10_0-4c42c9d1cc2a+
[TIMER]{MODULES}: 12s
Making Install
  INSTALL /boot
[TIMER]{INSTALL}: 17s
Checking kABI
kABI check passed
Setting Default Kernel to /boot/vmlinuz-6.12.0-jmaple_rlc-10_6.12.0-55.39.1.el10_0-4c42c9d1cc2a+ and Index to 0
Hopefully Grub2.0 took everything ... rebooting after time metrices
[TIMER]{MRPROPER}: 7s
[TIMER]{BUILD}: 1997s
[TIMER]{MODULES}: 12s
[TIMER]{INSTALL}: 17s
[TIMER]{TOTAL} 2037s
Rebooting in 10 seconds

KSelfTests

[jmaple@devbox code]$ ./get_kselftest_diff.sh
kselftest.6.12.0-rocky10_0_rebuild-67dbae5e01fe+.log
506
kselftest.6.12.0-rocky10_0_rebuild-352fd0c92964+.log
506
kselftest.6.12.0-rocky10_0_rebuild-64262157f189+.log
506
kselftest.6.12.0-jmaple_rlc-10_6.12.0-55.39.1.el10_0-4c42c9d1cc2a+.log
506
Before: kselftest.6.12.0-rocky10_0_rebuild-64262157f189+.log
After: kselftest.6.12.0-jmaple_rlc-10_6.12.0-55.39.1.el10_0-4c42c9d1cc2a+.log
Diff:
-ok 1 selftests: filesystems: devpts_pts # SKIP
+ok 2 selftests: seccomp: seccomp_benchmark

PlaidCat and others added 7 commits October 15, 2025 16:51
jira LE-3207
feature tools_hv
commit-author Shradha Gupta <shradhagupta@linux.microsoft.com>
commit a9c0b33

Allow the KVP daemon to log the KVP updates triggered in the VM
with a new debug flag(-d).
When the daemon is started with this flag, it logs updates and debug
information in syslog with loglevel LOG_DEBUG. This information comes
in handy for debugging issues where the key-value pairs for certain
pools show mismatch/incorrect values.
The distro-vendors can further consume these changes and modify the
respective service files to redirect the logs to specific files as
needed.

	Signed-off-by: Shradha Gupta <shradhagupta@linux.microsoft.com>
	Reviewed-by: Naman Jain <namjain@linux.microsoft.com>
	Reviewed-by: Dexuan Cui <decui@microsoft.com>
Link: https://lore.kernel.org/r/1744715978-8185-1-git-send-email-shradhagupta@linux.microsoft.com
	Signed-off-by: Wei Liu <wei.liu@kernel.org>
Message-ID: <1744715978-8185-1-git-send-email-shradhagupta@linux.microsoft.com>
(cherry picked from commit a9c0b33)
	Signed-off-by: Jonathan Maple <jmaple@ciq.com>
Signed-off-by: Jonathan Maple <jmaple@ciq.com>
jira LE-3546
commit-author Dexuan Cui <decui@microsoft.com>
commit b2f9665

Currently storvsc_timeout is only used in storvsc_sdev_configure(), and
5s and 10s are used elsewhere. It turns out that rarely the 5s is not
enough on Azure, so let's use storvsc_timeout everywhere.

In case a timeout happens and storvsc_channel_init() returns an error,
close the VMBus channel so that any host-to-guest messages in the
channel's ringbuffer, which might come late, can be safely ignored.

Add a "const" to storvsc_timeout.

	Cc: stable@kernel.org
	Signed-off-by: Dexuan Cui <decui@microsoft.com>
Link: https://lore.kernel.org/r/1749243459-10419-1-git-send-email-decui@microsoft.com
	Reviewed-by: Long Li <longli@microsoft.com>
	Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
(cherry picked from commit b2f9665)
	Signed-off-by: Sultan Alsawaf <sultan@ciq.com>
Signed-off-by: Jonathan Maple <jmaple@ciq.com>
jira LE-3555
commit-author Michael Kelley <mhklinux@outlook.com>
commit 380b75d

vmbus_sendpacket_mpb_desc() is currently used only by the storvsc driver
and is hardcoded to create a single GPA range. To allow it to also be
used by the netvsc driver to create multiple GPA ranges, no longer
hardcode as having a single GPA range. Allow the calling driver to
specify the rangecount in the supplied descriptor.

Update the storvsc driver to reflect this new approach.

	Cc: <stable@vger.kernel.org> # 6.1.x
	Signed-off-by: Michael Kelley <mhklinux@outlook.com>
Link: https://patch.msgid.link/20250513000604.1396-2-mhklinux@outlook.com
	Signed-off-by: Jakub Kicinski <kuba@kernel.org>
(cherry picked from commit 380b75d)
	Signed-off-by: Shreeya Patel <spatel@ciq.com>
Signed-off-by: Jonathan Maple <jmaple@ciq.com>
jira LE-3555
commit-author Michael Kelley <mhklinux@outlook.com>
commit 4f98616

netvsc currently uses vmbus_sendpacket_pagebuffer() to send VMBus
messages. This function creates a series of GPA ranges, each of which
contains a single PFN. However, if the rndis header in the VMBus
message crosses a page boundary, the netvsc protocol with the host
requires that both PFNs for the rndis header must be in a single "GPA
range" data structure, which isn't possible with
vmbus_sendpacket_pagebuffer(). As the first step in fixing this, add a
new function netvsc_build_mpb_array() to build a VMBus message with
multiple GPA ranges, each of which may contain multiple PFNs. Use
vmbus_sendpacket_mpb_desc() to send this VMBus message to the host.

There's no functional change since higher levels of netvsc don't
maintain or propagate knowledge of contiguous PFNs. Based on its
input, netvsc_build_mpb_array() still produces a separate GPA range
for each PFN and the behavior is the same as with
vmbus_sendpacket_pagebuffer(). But the groundwork is laid for a
subsequent patch to provide the necessary grouping.

	Cc: <stable@vger.kernel.org> # 6.1.x
	Signed-off-by: Michael Kelley <mhklinux@outlook.com>
Link: https://patch.msgid.link/20250513000604.1396-3-mhklinux@outlook.com
	Signed-off-by: Jakub Kicinski <kuba@kernel.org>
(cherry picked from commit 4f98616)
	Signed-off-by: Shreeya Patel <spatel@ciq.com>
Signed-off-by: Jonathan Maple <jmaple@ciq.com>
jira LE-3555
commit-author Michael Kelley <mhklinux@outlook.com>
commit 41a6328

Starting with commit dca5161 ("hv_netvsc: Check status in
SEND_RNDIS_PKT completion message") in the 6.3 kernel, the Linux
driver for Hyper-V synthetic networking (netvsc) occasionally reports
"nvsp_rndis_pkt_complete error status: 2".[1] This error indicates
that Hyper-V has rejected a network packet transmit request from the
guest, and the outgoing network packet is dropped. Higher level
network protocols presumably recover and resend the packet so there is
no functional error, but performance is slightly impacted. Commit
dca5161 is not the cause of the error -- it only added reporting
of an error that was already happening without any notice. The error
has presumably been present since the netvsc driver was originally
introduced into Linux.

The root cause of the problem is that the netvsc driver in Linux may
send an incorrectly formatted VMBus message to Hyper-V when
transmitting the network packet. The incorrect formatting occurs when
the rndis header of the VMBus message crosses a page boundary due to
how the Linux skb head memory is aligned. In such a case, two PFNs are
required to describe the location of the rndis header, even though
they are contiguous in guest physical address (GPA) space. Hyper-V
requires that two rndis header PFNs be in a single "GPA range" data
struture, but current netvsc code puts each PFN in its own GPA range,
which Hyper-V rejects as an error.

The incorrect formatting occurs only for larger packets that netvsc
must transmit via a VMBus "GPA Direct" message. There's no problem
when netvsc transmits a smaller packet by copying it into a pre-
allocated send buffer slot because the pre-allocated slots don't have
page crossing issues.

After commit 14ad6ed ("net: allow small head cache usage with
large MAX_SKB_FRAGS values") in the 6.14-rc4 kernel, the error occurs
much more frequently in VMs with 16 or more vCPUs. It may occur every
few seconds, or even more frequently, in an ssh session that outputs a
lot of text. Commit 14ad6ed subtly changes how skb head memory is
allocated, making it much more likely that the rndis header will cross
a page boundary when the vCPU count is 16 or more. The changes in
commit 14ad6ed are perfectly valid -- they just had the side
effect of making the netvsc bug more prominent.

Current code in init_page_array() creates a separate page buffer array
entry for each PFN required to identify the data to be transmitted.
Contiguous PFNs get separate entries in the page buffer array, and any
information about contiguity is lost.

Fix the core issue by having init_page_array() construct the page
buffer array to represent contiguous ranges rather than individual
pages. When these ranges are subsequently passed to
netvsc_build_mpb_array(), it can build GPA ranges that contain
multiple PFNs, as required to avoid the error "nvsp_rndis_pkt_complete
error status: 2". If instead the network packet is sent by copying
into a pre-allocated send buffer slot, the copy proceeds using the
contiguous ranges rather than individual pages, but the result of the
copying is the same. Also fix rndis_filter_send_request() to construct
a contiguous range, since it has its own page buffer array.

This change has a side benefit in CoCo VMs in that netvsc_dma_map()
calls dma_map_single() on each contiguous range instead of on each
page. This results in fewer calls to dma_map_single() but on larger
chunks of memory, which should reduce contention on the swiotlb.

Since the page buffer array now contains one entry for each contiguous
range instead of for each individual page, the number of entries in
the array can be reduced, saving 208 bytes of stack space in
netvsc_xmit() when MAX_SKG_FRAGS has the default value of 17.

[1] https://bugzilla.kernel.org/show_bug.cgi?id=217503

Closes: https://bugzilla.kernel.org/show_bug.cgi?id=217503
	Cc: <stable@vger.kernel.org> # 6.1.x
	Signed-off-by: Michael Kelley <mhklinux@outlook.com>
Link: https://patch.msgid.link/20250513000604.1396-4-mhklinux@outlook.com
	Signed-off-by: Jakub Kicinski <kuba@kernel.org>
(cherry picked from commit 41a6328)
	Signed-off-by: Shreeya Patel <spatel@ciq.com>
Signed-off-by: Jonathan Maple <jmaple@ciq.com>
jira LE-3555
commit-author Michael Kelley <mhklinux@outlook.com>
commit 5bbc644

init_page_array() now always creates a single page buffer array entry
for the rndis message, even if the rndis message crosses a page
boundary. As such, the number of page buffer array entries used for
the rndis message must no longer be tracked -- it is always just 1.
Remove the rmsg_pgcnt field and use "1" where the value is needed.

	Cc: <stable@vger.kernel.org> # 6.1.x
	Signed-off-by: Michael Kelley <mhklinux@outlook.com>
Link: https://patch.msgid.link/20250513000604.1396-5-mhklinux@outlook.com
	Signed-off-by: Jakub Kicinski <kuba@kernel.org>
(cherry picked from commit 5bbc644)
	Signed-off-by: Shreeya Patel <spatel@ciq.com>
Signed-off-by: Jonathan Maple <jmaple@ciq.com>
jira LE-3555
commit-author Michael Kelley <mhklinux@outlook.com>
commit 45a442f

With the netvsc driver changed to use vmbus_sendpacket_mpb_desc()
instead of vmbus_sendpacket_pagebuffer(), the latter has no remaining
callers. Remove it.

	Cc: <stable@vger.kernel.org> # 6.1.x
	Signed-off-by: Michael Kelley <mhklinux@outlook.com>
Link: https://patch.msgid.link/20250513000604.1396-6-mhklinux@outlook.com
	Signed-off-by: Jakub Kicinski <kuba@kernel.org>
(cherry picked from commit 45a442f)
	Signed-off-by: Shreeya Patel <spatel@ciq.com>
Signed-off-by: Jonathan Maple <jmaple@ciq.com>
@PlaidCat PlaidCat requested review from a team, bmastbergen and shreeya-patel98 October 15, 2025 22:31
@PlaidCat PlaidCat self-assigned this Oct 15, 2025
Copy link
Collaborator

@bmastbergen bmastbergen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🥌

@PlaidCat PlaidCat merged commit 4c42c9d into rlc-10/6.12.0-55.39.1.el10_0 Oct 16, 2025
4 of 6 checks passed
@PlaidCat PlaidCat deleted the jmaple_rlc-10/6.12.0-55.39.1.el10_0 branch October 16, 2025 15:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

6 participants