Skip to content

Commit 696854a

Browse files
authored
kernel: Enable support for block device writeback throttling (microsoft#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.
1 parent 4ce4471 commit 696854a

File tree

16 files changed

+43
-17
lines changed

16 files changed

+43
-17
lines changed

SPECS-EXTENDED/kernel-ipe/config

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -947,7 +947,8 @@ CONFIG_BLK_DEV_INTEGRITY_T10=y
947947
CONFIG_BLK_DEV_ZONED=y
948948
CONFIG_BLK_DEV_THROTTLING=y
949949
# CONFIG_BLK_DEV_THROTTLING_LOW is not set
950-
# CONFIG_BLK_WBT is not set
950+
CONFIG_BLK_WBT=y
951+
CONFIG_BLK_WBT_MQ=y
951952
CONFIG_BLK_CGROUP_IOLATENCY=y
952953
# CONFIG_BLK_CGROUP_FC_APPID is not set
953954
# CONFIG_BLK_CGROUP_IOCOST is not set

SPECS-EXTENDED/kernel-ipe/kernel-ipe.signatures.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"Signatures": {
33
"azurelinux-ca-20230216.pem": "d545401163c75878319f01470455e6bc18a5968e39dd964323225e3fe308849b",
4-
"config": "7167905328a60559a0174a83bf9cf901463627e99b213b67357a19d6ec82b5cd",
4+
"config": "77447b428d270902d02c064ea477da4b6fe23856db005fe064b8ce40ee742f10",
55
"config_aarch64": "e7876afb4c18e809d6d4c25e6dc9bb1ae546e5d9cc1d06e88444201fa70b7ee5",
66
"cpupower": "d7518767bf2b1110d146a49c7d42e76b803f45eb8bd14d931aa6d0d346fae985",
77
"cpupower.service": "b057fe9e5d0e8c36f485818286b80e3eba8ff66ff44797940e99b1fd5361bb98",

SPECS-EXTENDED/kernel-ipe/kernel-ipe.spec

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
Summary: Linux Kernel
3434
Name: kernel-ipe
3535
Version: 6.6.112.1
36-
Release: 1%{?dist}
36+
Release: 2%{?dist}
3737
License: GPLv2
3838
Vendor: Microsoft Corporation
3939
Distribution: Azure Linux
@@ -460,6 +460,9 @@ echo "initrd of kernel %{uname_r} removed" >&2
460460
%{_sysconfdir}/bash_completion.d/bpftool
461461

462462
%changelog
463+
* Mon Oct 27 2025 Rachel Menge <[email protected]> - 6.6.112.1-2
464+
- Bump release to match kernel
465+
463466
* Wed Oct 15 2025 CBL-Mariner Servicing Account <[email protected]> - 6.6.112.1-1
464467
- Auto-upgrade to 6.6.112.1
465468

SPECS-SIGNED/kernel-64k-signed/kernel-64k-signed.spec

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
Summary: Signed Linux Kernel for %{buildarch} systems
88
Name: kernel-64k-signed-%{buildarch}
99
Version: 6.6.112.1
10-
Release: 1%{?dist}
10+
Release: 2%{?dist}
1111
License: GPLv2
1212
Vendor: Microsoft Corporation
1313
Distribution: Azure Linux
@@ -105,6 +105,9 @@ echo "initrd of kernel %{uname_r} removed" >&2
105105
%exclude /module_info.ld
106106

107107
%changelog
108+
* Mon Oct 27 2025 Rachel Menge <[email protected]> - 6.6.112.1-2
109+
- Bump release to match kernel
110+
108111
* Wed Oct 15 2025 CBL-Mariner Servicing Account <[email protected]> - 6.6.112.1-1
109112
- Auto-upgrade to 6.6.112.1
110113

SPECS-SIGNED/kernel-signed/kernel-signed.spec

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
Summary: Signed Linux Kernel for %{buildarch} systems
1111
Name: kernel-signed-%{buildarch}
1212
Version: 6.6.112.1
13-
Release: 1%{?dist}
13+
Release: 2%{?dist}
1414
License: GPLv2
1515
Vendor: Microsoft Corporation
1616
Distribution: Azure Linux
@@ -145,6 +145,9 @@ echo "initrd of kernel %{uname_r} removed" >&2
145145
%exclude /module_info.ld
146146

147147
%changelog
148+
* Mon Oct 27 2025 Rachel Menge <[email protected]> - 6.6.112.1-2
149+
- Bump release to match kernel
150+
148151
* Wed Oct 15 2025 CBL-Mariner Servicing Account <[email protected]> - 6.6.112.1-1
149152
- Auto-upgrade to 6.6.112.1
150153

SPECS-SIGNED/kernel-uki-signed/kernel-uki-signed.spec

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
Summary: Signed Unified Kernel Image for %{buildarch} systems
77
Name: kernel-uki-signed-%{buildarch}
88
Version: 6.6.112.1
9-
Release: 1%{?dist}
9+
Release: 2%{?dist}
1010
License: GPLv2
1111
Vendor: Microsoft Corporation
1212
Distribution: Azure Linux
@@ -68,6 +68,9 @@ popd
6868
/boot/efi/EFI/Linux/vmlinuz-uki-%{kernelver}.efi
6969

7070
%changelog
71+
* Mon Oct 27 2025 Rachel Menge <[email protected]> - 6.6.112.1-2
72+
- Bump release to match kernel
73+
7174
* Wed Oct 15 2025 CBL-Mariner Servicing Account <[email protected]> - 6.6.112.1-1
7275
- Auto-upgrade to 6.6.112.1
7376

SPECS/kernel-64k/kernel-64k.spec

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
Summary: Linux Kernel
2828
Name: kernel-64k
2929
Version: 6.6.112.1
30-
Release: 1%{?dist}
30+
Release: 2%{?dist}
3131
License: GPLv2
3232
Vendor: Microsoft Corporation
3333
Distribution: Azure Linux
@@ -380,6 +380,9 @@ echo "initrd of kernel %{uname_r} removed" >&2
380380
%{_sysconfdir}/bash_completion.d/bpftool
381381

382382
%changelog
383+
* Mon Oct 27 2025 Rachel Menge <[email protected]> - 6.6.112.1-2
384+
- Bump release to match kernel
385+
383386
* Wed Oct 15 2025 CBL-Mariner Servicing Account <[email protected]> - 6.6.112.1-1
384387
- Auto-upgrade to 6.6.112.1
385388

SPECS/kernel-headers/kernel-headers.spec

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
Summary: Linux API header files
1515
Name: kernel-headers
1616
Version: 6.6.112.1
17-
Release: 1%{?dist}
17+
Release: 2%{?dist}
1818
License: GPLv2
1919
Vendor: Microsoft Corporation
2020
Distribution: Azure Linux
@@ -75,6 +75,9 @@ done
7575
%endif
7676

7777
%changelog
78+
* Mon Oct 27 2025 Rachel Menge <[email protected]> - 6.6.112.1-2
79+
- Bump release to match kernel
80+
7881
* Wed Oct 15 2025 CBL-Mariner Servicing Account <[email protected]> - 6.6.112.1-1
7982
- Auto-upgrade to 6.6.112.1
8083

SPECS/kernel/config

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -947,7 +947,8 @@ CONFIG_BLK_DEV_INTEGRITY_T10=y
947947
CONFIG_BLK_DEV_ZONED=y
948948
CONFIG_BLK_DEV_THROTTLING=y
949949
# CONFIG_BLK_DEV_THROTTLING_LOW is not set
950-
# CONFIG_BLK_WBT is not set
950+
CONFIG_BLK_WBT=y
951+
CONFIG_BLK_WBT_MQ=y
951952
CONFIG_BLK_CGROUP_IOLATENCY=y
952953
# CONFIG_BLK_CGROUP_FC_APPID is not set
953954
# CONFIG_BLK_CGROUP_IOCOST is not set

SPECS/kernel/kernel-uki.spec

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
Summary: Unified Kernel Image
1414
Name: kernel-uki
1515
Version: 6.6.112.1
16-
Release: 1%{?dist}
16+
Release: 2%{?dist}
1717
License: GPLv2
1818
Vendor: Microsoft Corporation
1919
Distribution: Azure Linux
@@ -70,6 +70,9 @@ cp %{buildroot}/boot/vmlinuz-uki-%{kernelver}.efi %{buildroot}/boot/efi/EFI/Linu
7070
/boot/efi/EFI/Linux/vmlinuz-uki-%{kernelver}.efi
7171

7272
%changelog
73+
* Mon Oct 27 2025 Rachel Menge <[email protected]> - 6.6.112.1-2
74+
- Bump release to match kernel
75+
7376
* Wed Oct 15 2025 CBL-Mariner Servicing Account <[email protected]> - 6.6.112.1-1
7477
- Auto-upgrade to 6.6.112.1
7578

0 commit comments

Comments
 (0)