Background
Migration of GCP-hosted CentOS 7.5-based solution to RockyLinux. We’re starting with RockyLinux 8.5 and soon will upgrade to one of the the latest versions.
Context
Today, with our CentOs 7.5-based solution we configure IRQ SMP affinity on various VMs (defined based on our own customized logic and while the VMs themselves has the irqbalance
service disabled), both with relevance for the block and network devices.
Issue
This command doesn’t work on RockyLinux 8.5 (note the error message):
# cat /proc/interrupts | grep -i 'request'
29: 0 0 0 2990825 PCI-MSI 49155-edge virtio0-request
# echo "0x4" > /proc/irq/29/smp_affinity
-bash: echo: write error: Input/output error
But works on CentOS 7.5.
Side-note: I’ve also checked it on newer GCP-hosted RockyLinux versions (8.x, 9.x) and it also didn’t worked.
As could be understood – I’m talking about IRQ SMP affinity/pinning configuration with specific relevance for the virtio0-request
“device” which AFAIK should be the virtual SCSI device.
This ^might^ causing us some performance issues and I want to better understand what’s going on here (I mean – why it’s not possible). One of the interesting links I’ve found and might (?) be relevant is: Virtio-scsi multiqueue irq affinity
Used GCP images
- RockyLinux 8.5 GCE image:
rocky-linux-8-v20220126
- CentOS 7.5 GCE image:
centos-7-v20180911
Extra tech-details from my RockyLinux instance
# uname -a
Linux <MASKED> 4.18.0-348.12.2.el8_5.x86_64 #1 SMP Wed Jan 19 17:53:40 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
# rpm -q kernel
kernel-4.18.0-348.12.2.el8_5.x86_64
# cat /etc/os-release
NAME="Rocky Linux"
VERSION="8.5 (Green Obsidian)"
ID="rocky"
ID_LIKE="rhel centos fedora"
VERSION_ID="8.5"
PLATFORM_ID="platform:el8"
PRETTY_NAME="Rocky Linux 8.5 (Green Obsidian)"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:rocky:rocky:8:GA"
HOME_URL="https://rockylinux.org/"
BUG_REPORT_URL="https://bugs.rockylinux.org/"
ROCKY_SUPPORT_PRODUCT="Rocky Linux"
ROCKY_SUPPORT_PRODUCT_VERSION="8"
# lsmod | grep -i virt
virtio_net 53248 0
net_failover 24576 1 virtio_net
virtio_scsi 20480 8
# modinfo virtio_scsi
filename: /lib/modules/4.18.0-348.12.2.el8_5.x86_64/kernel/drivers/scsi/virtio_scsi.ko.xz
license: GPL
description: Virtio SCSI HBA driver
rhelversion: 8.5
srcversion: 3074A2A41B82579491CBA99
alias: virtio:d00000008v*
depends:
intree: Y
name: virtio_scsi
vermagic: 4.18.0-348.12.2.el8_5.x86_64 SMP mod_unload modversions
sig_id: PKCS#7
signer: Rocky kernel signing key
sig_key: 21:81:96:8D:B6:9E:F8:5D:EA:72:9A:00:F7:2D:52:8C:2E:D2:B4:35
sig_hashalgo: sha256
signature: 88:FD:B7:FC:83:BE:4F:00:BE:43:88:07:67:87:23:54:61:2A:9D:BD:
CF:7B:A9:2F:BD:6A:36:BA:81:6A:88:73:00:DD:A3:B8:A3:51:13:D7:
D6:5D:29:29:95:65:F4:67:61:45:52:35:FE:89:9D:25:F4:2C:D7:06:
71:CF:8D:5B:5B:A5:BB:78:CE:E4:01:5A:FB:41:DC:74:DF:ED:B4:0F:
5C:EC:68:19:B8:C9:33:BD:02:6A:8F:83:F1:D1:C5:05:34:90:EE:FE:
B5:C1:2E:C5:2C:9D:81:D0:3E:30:D0:8E:85:43:2F:18:AE:F5:8F:B1:
4C:60:93:D3:CD:2C:CC:9E:D4:E5:8B:7C:BC:95:0C:BC:E5:69:F6:97:
3F:C4:C7:A0:1C:EA:72:CD:28:9A:D4:39:93:F0:08:F4:67:39:30:FE:
FB:E7:4A:A7:11:57:81:42:FA:82:9A:76:FF:F6:B5:F5:28:4F:07:76:
82:D4:FD:2B:98:E1:EC:EF:1C:B3:D6:66:24:DE:B0:C1:00:82:5A:4B:
50:9B:75:B7:C9:B6:DB:44:AD:70:80:EA:93:AF:59:B4:FC:E6:CC:A9:
36:6A:D9:01:BC:C2:D7:E5:83:6F:04:FC:C8:E4:1A:D3:B1:02:11:55:
E3:1F:DD:33:2A:8A:97:D9:54:66:1B:6E:6D:5E:14:7D:CD:BD:15:38:
DE:EA:5D:DF:DE:15:D6:0A:3D:8B:26:FB:96:13:7A:71:99:84:38:D0:
05:3A:83:8F:FD:49:B7:65:B9:AF:11:4C:54:3B:DA:AA:76:BF:46:00:
4B:74:64:9D:1F:DD:26:C7:23:35:5B:2C:71:28:AD:25:62:A1:0E:FF:
B9:96:7F:08:85:36:3D:18:5C:E7:FE:C5:5D:76:EB:8A:58:01:25:D4:
8A:6E:C9:F2:91:35:0E:E9:E3:FF:AE:A0:8C:40:9A:42:37:A6:D7:5F:
E7:BF:35:4E:99:CF:1F:2D:19:3B:DA:49:A0:46:59:E1:EA:4F:0C:A3:
0F:8D:C1:98
# dmesg | grep -i 'virtio'
[ 1.202878] virtio-pci 0000:00:03.0: virtio_pci: leaving for legacy driver
[ 1.209390] virtio-pci 0000:00:04.0: virtio_pci: leaving for legacy driver
[ 1.217614] virtio-pci 0000:00:05.0: virtio_pci: leaving for legacy driver
[ 3.123080] scsi host0: Virtio SCSI HBA
Does all of this really mean there’s no way to configure IRQ SMP affinity for the virtio
virtual SCSI device?
Any help/hint will be appreciated! Big thanks in advance!