Skip to content

Conversation

kerneltoast
Copy link

jira LE-3545

commit-author Dexuan Cui <[email protected]>
commit b2f966568faaad326de97481096d0f3dc0971c43

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: [email protected]
	Signed-off-by: Dexuan Cui <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
	Reviewed-by: Long Li <[email protected]>
	Signed-off-by: Martin K. Petersen <[email protected]>
(cherry picked from commit b2f966568faaad326de97481096d0f3dc0971c43)
	Signed-off-by: Sultan Alsawaf <[email protected]>

Build Log

/home/rocky/kernel-src-tree
Running make mrproper...
  CLEAN   arch/x86/boot/compressed
  CLEAN   arch/x86/boot
  CLEAN   arch/x86/crypto
  CLEAN   arch/x86/entry/vdso
  CLEAN   arch/x86/kernel/cpu
  CLEAN   arch/x86/kernel
  CLEAN   arch/x86/kvm
  CLEAN   arch/x86/purgatory
  CLEAN   arch/x86/realmode/rm
  CLEAN   arch/x86/tools
  CLEAN   arch/x86/lib
  CLEAN   certs
  CLEAN   crypto/asymmetric_keys
  CLEAN   drivers/firmware/efi/libstub
  CLEAN   drivers/gpu/drm/radeon
  CLEAN   drivers/gpu/drm/xe
  CLEAN   drivers/scsi
  CLEAN   drivers/tty/vt
  CLEAN   drivers/video/logo
  CLEAN   kernel/debug/kdb
  CLEAN   kernel
  CLEAN   lib/raid6
  CLEAN   lib
  CLEAN   net/wireless
  CLEAN   security/selinux
  CLEAN   usr/include
  CLEAN   usr
  CLEAN   vmlinux.symvers modules-only.symvers modules.builtin modules.builtin.modinfo
  CLEAN   scripts/basic
  CLEAN   scripts/genksyms
  CLEAN   scripts/kconfig
  CLEAN   scripts/mod
  CLEAN   scripts/selinux/genheaders
  CLEAN   scripts/selinux/mdp
  CLEAN   scripts
  CLEAN   include/config include/generated arch/x86/include/generated .config .config.old .version Module.symvers certs/signing_key.pem certs/signing_key.x509 certs/x509.genkey
[TIMER]{MRPROPER}: 9s
x86_64 architecture detected, copying config
'configs/kernel-x86_64-rhel.config' -> '.config'
Setting Local Version for build
CONFIG_LOCALVERSION="-sultan_LE-3543_sig-cloud-9_5.14.0-570.30.1.el9_6-a817"
Making olddefconfig
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/kconfig/conf.o
  HOSTCC  scripts/kconfig/confdata.o
  HOSTCC  scripts/kconfig/expr.o
  LEX     scripts/kconfig/lexer.lex.c
  YACC    scripts/kconfig/parser.tab.[ch]
  HOSTCC  scripts/kconfig/lexer.lex.o
  HOSTCC  scripts/kconfig/menu.o
  HOSTCC  scripts/kconfig/parser.tab.o
  HOSTCC  scripts/kconfig/preprocess.o
  HOSTCC  scripts/kconfig/symbol.o
  HOSTCC  scripts/kconfig/util.o
  HOSTLD  scripts/kconfig/conf
#
# configuration written to .config
#
Starting Build
  SYSHDR  arch/x86/include/generated/uapi/asm/unistd_32.h
  SYSHDR  arch/x86/include/generated/uapi/asm/unistd_64.h
  SYSHDR  arch/x86/include/generated/uapi/asm/unistd_x32.h
  SYSTBL  arch/x86/include/generated/asm/syscalls_32.h
  SYSHDR  arch/x86/include/generated/asm/unistd_32_ia32.h
  SYSHDR  arch/x86/include/generated/asm/unistd_64_x32.h
  SYSTBL  arch/x86/include/generated/asm/syscalls_64.h
---
  BTF [M] sound/usb/snd-usb-audio.ko
  BTF [M] sound/x86/snd-hdmi-lpe-audio.ko
  LD [M]  sound/xen/snd_xen_front.ko
  BTF [M] sound/xen/snd_xen_front.ko
[TIMER]{BUILD}: 1530s
Making Modules
  INSTALL /lib/modules/5.14.0-sultan_LE-3543_sig-cloud-9_5.14.0-570.30.1.el9_6-a817+/kernel/arch/x86/crypto/blake2s-x86_64.ko
  INSTALL /lib/modules/5.14.0-sultan_LE-3543_sig-cloud-9_5.14.0-570.30.1.el9_6-a817+/kernel/arch/x86/crypto/blowfish-x86_64.ko
  INSTALL /lib/modules/5.14.0-sultan_LE-3543_sig-cloud-9_5.14.0-570.30.1.el9_6-a817+/kernel/arch/x86/crypto/camellia-aesni-avx-x86_64.ko
---
  SIGN    /lib/modules/5.14.0-sultan_LE-3543_sig-cloud-9_5.14.0-570.30.1.el9_6-a817+/kernel/sound/usb/usx2y/snd-usb-usx2y.ko
  STRIP   /lib/modules/5.14.0-sultan_LE-3543_sig-cloud-9_5.14.0-570.30.1.el9_6-a817+/kernel/sound/xen/snd_xen_front.ko
  SIGN    /lib/modules/5.14.0-sultan_LE-3543_sig-cloud-9_5.14.0-570.30.1.el9_6-a817+/kernel/sound/virtio/virtio_snd.ko
  SIGN    /lib/modules/5.14.0-sultan_LE-3543_sig-cloud-9_5.14.0-570.30.1.el9_6-a817+/kernel/sound/x86/snd-hdmi-lpe-audio.ko
  SIGN    /lib/modules/5.14.0-sultan_LE-3543_sig-cloud-9_5.14.0-570.30.1.el9_6-a817+/kernel/sound/usb/snd-usb-audio.ko
  SIGN    /lib/modules/5.14.0-sultan_LE-3543_sig-cloud-9_5.14.0-570.30.1.el9_6-a817+/kernel/sound/xen/snd_xen_front.ko
  DEPMOD  /lib/modules/5.14.0-sultan_LE-3543_sig-cloud-9_5.14.0-570.30.1.el9_6-a817+
[TIMER]{MODULES}: 8s
Making Install
sh ./arch/x86/boot/install.sh 5.14.0-sultan_LE-3543_sig-cloud-9_5.14.0-570.30.1.el9_6-a817+ \
        arch/x86/boot/bzImage System.map "/boot"
[TIMER]{INSTALL}: 25s
Checking kABI
kABI check passed
Setting Default Kernel to /boot/vmlinuz-5.14.0-sultan_LE-3543_sig-cloud-9_5.14.0-570.30.1.el9_6-a817+ and Index to 0
The default is /boot/loader/entries/7a95671e45f0439ca51cedd5179fb400-5.14.0-sultan_LE-3543_sig-cloud-9_5.14.0-570.30.1.el9_6-a817+.conf with index 0 and kernel /boot/vmlinuz-5.14.0-sultan_LE-3543_sig-cloud-9_5.14.0-570.30.1.el9_6-a817+
The default is /boot/loader/entries/7a95671e45f0439ca51cedd5179fb400-5.14.0-sultan_LE-3543_sig-cloud-9_5.14.0-570.30.1.el9_6-a817+.conf with index 0 and kernel /boot/vmlinuz-5.14.0-sultan_LE-3543_sig-cloud-9_5.14.0-570.30.1.el9_6-a817+
Generating grub configuration file ...
Adding boot menu entry for UEFI Firmware Settings ...
done
Hopefully Grub2.0 took everything ... rebooting after time metrices
[TIMER]{MRPROPER}: 9s
[TIMER]{BUILD}: 1530s
[TIMER]{MODULES}: 8s
[TIMER]{INSTALL}: 25s
[TIMER]{TOTAL} 1576s
Rebooting in 10 seconds

kernel-build.log

Testing

$ grep ^ok kselftest-before.log | wc -l
387
$ grep ^ok kselftest-after.log | wc -l
386

kselftest-before.log
kselftest-after.log

jira LE-3545
commit-author Dexuan Cui <[email protected]>
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: [email protected]
	Signed-off-by: Dexuan Cui <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
	Reviewed-by: Long Li <[email protected]>
	Signed-off-by: Martin K. Petersen <[email protected]>
(cherry picked from commit b2f9665)
	Signed-off-by: Sultan Alsawaf <[email protected]>
@shreeya-patel98
Copy link

I see one kselftest failing, is it unrelated to the change?

@kerneltoast
Copy link
Author

I see one kselftest failing, is it unrelated to the change?

Yes, it's a flaky timer test. Another such test actually failed before but passed after. :)

Copy link

@thefossguy-ciq thefossguy-ciq left a comment

Choose a reason for hiding this comment

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

🚤

Copy link
Collaborator

@PlaidCat PlaidCat left a comment

Choose a reason for hiding this comment

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

:shipit:

@kerneltoast kerneltoast merged commit 144de92 into sig-cloud-9/5.14.0-570.33.2.el9_6 Aug 25, 2025
4 checks passed
@kerneltoast kerneltoast deleted the {sultan}_LE-3543_sig-cloud-9/5.14.0-570.33.2.el9_6 branch August 25, 2025 16:49
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.

4 participants