kernel: Enable support for block device writeback throttling#14797
kernel: Enable support for block device writeback throttling#14797
Conversation
🚨 PR Check Failed - Critical Issues FoundFound 3 critical/error issue(s) that must be fixed. 🔍 Critical Issues Detected:
🤖 AI Analysis Summary:Brief Analysis: The changes primarily bump the release version and enable additional block device writeback controls while retaining the single patch for mstflint kernel support. Everything appears consistent with our packaging practices. 📋 For detailed analysis and recommendations, check the Azure DevOps pipeline logs. |
a1e97b4 to
da909db
Compare
rlmenge
left a comment
There was a problem hiding this comment.
I have rerun the smoke tests following the rebase
BB: https://dev.azure.com/mariner-org/mariner/_build/results?buildId=966212&view=results
Arm64
*** Smoke Testing Kernel 6.6.112.1-2.azl3 (est. < 1 min) ***
OS Version: NAME="Microsoft Azure Linux"
VERSION="3.0.20251021"
ID=azurelinux
VERSION_ID="3.0"
PRETTY_NAME="Microsoft Azure Linux 3.0"
ANSI_COLOR="1;34"
HOME_URL="https://aka.ms/azurelinux"
BUG_REPORT_URL="https://aka.ms/azurelinux"
SUPPORT_URL="https://aka.ms/azurelinux"
PASS: Kernel version matches the running kernel version.
PASS: eth0 interface is up.
PASS: iptables service is running.
Boot times:
Startup finished in 1.294s (kernel) + 1.336s (initrd) + 6.370s (userspace) = 9.000s
graphical.target reached after 6.094s in userspace.
Kernel size:
-rw------- 1 root root 48781824 Oct 28 19:07 /boot/vmlinuz-6.6.112.1-2.azl3
56744 /lib/modules/6.6.112.1-2.azl3
kernel memory:
MemTotal: 32797724 kB
MemFree: 32290336 kB
MemAvailable: 32128356 kB
Total memory:
total used free shared buff/cache available
Mem: 32029 653 31533 0 143 31375
Swap: 0 0 0
x86
*** Smoke Testing Kernel 6.6.112.1-2.azl3 (est. < 1 min) ***
OS Version: NAME="Microsoft Azure Linux"
VERSION="3.0.20251021"
ID=azurelinux
VERSION_ID="3.0"
PRETTY_NAME="Microsoft Azure Linux 3.0"
ANSI_COLOR="1;34"
HOME_URL="https://aka.ms/azurelinux"
BUG_REPORT_URL="https://aka.ms/azurelinux"
SUPPORT_URL="https://aka.ms/azurelinux"
PASS: Kernel version matches the running kernel version.
PASS: eth0 interface is up.
PASS: iptables service is running.
Boot times:
Startup finished in 3.153s (kernel) + 1.954s (initrd) + 8.462s (userspace) = 13.570s
graphical.target reached after 8.101s in userspace.
Kernel size:
-rw------- 1 root root 15126528 Oct 28 18:57 /boot/vmlinuz-6.6.112.1-2.azl3
34872 /lib/modules/6.6.112.1-2.azl3
kernel memory:
MemTotal: 65951304 kB
MemFree: 65351896 kB
MemAvailable: 65101828 kB
Total memory:
total used free shared buff/cache available
Mem: 64405 829 63820 0 145 63576
Swap: 0 0 0
…ft#14797) Enables CONFIG_BLK_WBT (Writeback Throttling) and CONFIG_BLK_WBT_MQ (Writeback Throttling for Multi-Queue Block Layer) in the kernel configuration. CONFIG_BLK_WBT introduces the Writeback Throttling mechanism for block devices. WBT helps prevent excessive IO latency spikes caused by uncontrolled writeback activity, especially on storage devices with limited bandwidth or high latency. By throttling background writeback, WBT ensures smoother and more predictable IO performance, particularly under heavy load or when multiple IO streams are competing for device bandwidth. CONFIG_BLK_WBT_MQ extends WBT support to the multi-queue block subsystem (blk-mq), which is used by modern storage stacks and NVMe devices. Enabling this ensures that WBT's benefits are available for devices managed by blk-mq, providing improved latency control and fairness across all supported block devices.
Merge Checklist
All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)
*-staticsubpackages, etc.) have had theirReleasetag incremented../cgmanifest.json,./toolkit/scripts/toolchain/cgmanifest.json,.github/workflows/cgmanifest.json)./LICENSES-AND-NOTICES/SPECS/data/licenses.json,./LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md,./LICENSES-AND-NOTICES/SPECS/LICENSE-EXCEPTIONS.PHOTON)*.signatures.jsonfilessudo make go-tidy-allandsudo make go-test-coveragepassSummary
Performance improvement. This PR enables
CONFIG_BLK_WBT(Writeback Throttling) andCONFIG_BLK_WBT_MQ(Writeback Throttling for Multi-Queue Block Layer) in the kernel configuration.CONFIG_BLK_WBT introduces the Writeback Throttling mechanism for block devices. WBT helps prevent excessive IO latency spikes caused by uncontrolled writeback activity, especially on storage devices with limited bandwidth or high latency. By throttling background writeback, WBT ensures smoother and more predictable IO performance, particularly under heavy load or when multiple IO streams are competing for device bandwidth.
CONFIG_BLK_WBT_MQ extends WBT support to the multi-queue block subsystem (blk-mq), which is used by modern storage stacks and NVMe devices. Enabling this ensures that WBT's benefits are available for devices managed by blk-mq, providing improved latency control and fairness across all supported block devices.
torvalds/linux@87760e5
blk-mq subsystem documentation
Change Log
Does this affect the toolchain?
YES
Associated issues
https://microsoft.visualstudio.com/OS/_workitems/edit/59676754/
Test Methodology