* [Devel] [PATCH vz10 v2 0/3] Restore ConnectX-3 Pro support dropped by RHEL 10
@ 2026-09-16 15:40 Konstantin Khorenko
2026-09-16 15:40 ` [Devel] [PATCH vz10 v2 1/3] core: add skip_pci_blacklist option to probe RHEL-disabled devices Konstantin Khorenko
` (4 more replies)
0 siblings, 5 replies; 6+ messages in thread
From: Konstantin Khorenko @ 2026-09-16 15:40 UTC (permalink / raw)
To: Alexey Kuznetsov, Konstantin Khorenko, devel
RHEL 10 removed the mlx4 driver: CONFIG_MLX4_CORE is off on every
architecture but aarch64, and the whole ConnectX-3 family sits in
rh_disabled_pci_devices[], so local_pci_probe() answers -EACCES even
where the driver is built. A host whose only NIC is a ConnectX-3 Pro
cannot run a release kernel at all, which is what we hit on lab
equipment.
The removal follows NVIDIA ending vendor support for the hardware,
not any defect: the driver is maintained upstream, Fedora builds it,
and AlmaLinux 10 has already moved the same PCI IDs out of the
disabled list. The history is collected in the Jira issue below.
Patch 1 adds the skip_pci_blacklist option, so a host that hits the
blacklist on some other device can still be brought up, from an IPMI
console if need be.
Patch 2 moves 15b3:1007 (ConnectX-3 Pro) from the disabled list to
the unmaintained one, so the card is driven while the log keeps
saying that the hardware is untested.
Patch 3 builds mlx4 again, Ethernet and InfiniBand, without which the
first two patches change nothing on x86_64.
The rest of the mlx4 family and ConnectX-2 stay as RHEL left them.
https://virtuozzo.atlassian.net/browse/VSTOR-145697
Changes in v2:
- split the single patch into the option, the PCI ID and the config
- report a bypassed device as unmaintained rather than deprecated:
"deprecated" promises support that exists today, which is not true
for a device RHEL has already disabled
- move 15b3:1007 into rh_unmaintained_pci_devices[] instead of
deleting it, so the card is still reported, the way AlmaLinux does
- keep skip_pci_blacklist and its core_param() next to their only
user, inside #ifdef CONFIG_PCI
- document skip_pci_blacklist in kernel-parameters.txt
- enable CONFIG_MLX4_CORE, CONFIG_MLX4_EN and CONFIG_MLX4_INFINIBAND
in custom-overrides: RHEL 10 does not build mlx4 on x86_64, so v1
had no effect there
- Link to v1: http://lore.virtuozzo.com/aqlsDIyP9+pTstGU@mops2
Message-Id: <aqlsDIyP9+pTstGU@mops2>
[Devel] [PATCH VZ10] core: allow to bypass rhel pci blacklist
Signed-off-by: Konstantin Khorenko <khorenko@virtuozzo.com>
---
Alexey Kuznetsov (2):
core: add skip_pci_blacklist option to probe RHEL-disabled devices
core: allow ConnectX-3 Pro to probe, as unmaintained hardware
Konstantin Khorenko (1):
configs: build the mlx4 driver, Ethernet and InfiniBand
Documentation/admin-guide/kernel-parameters.txt | 12 ++++++++++++
kernel/rh_messages.c | 9 +++++++++
kernel/rh_messages.h | 2 +-
redhat/configs/custom-overrides/generic/CONFIG_MLX4_CORE | 1 +
redhat/configs/custom-overrides/generic/CONFIG_MLX4_EN | 1 +
.../configs/custom-overrides/generic/CONFIG_MLX4_INFINIBAND | 1 +
6 files changed, 25 insertions(+), 1 deletion(-)
---
base-commit: 3fff8724d1f894459c1477990fe086c0c2573410
change-id: 20260916-b4-prep-khorenko-vstor-145697-mlx4-7d6927d60446
Best regards,
--
Konstantin Khorenko <khorenko@virtuozzo.com>
_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Devel] [PATCH vz10 v2 1/3] core: add skip_pci_blacklist option to probe RHEL-disabled devices
2026-09-16 15:40 [Devel] [PATCH vz10 v2 0/3] Restore ConnectX-3 Pro support dropped by RHEL 10 Konstantin Khorenko
@ 2026-09-16 15:40 ` Konstantin Khorenko
2026-09-16 15:40 ` [Devel] [PATCH vz10 v2 2/3] core: allow ConnectX-3 Pro to probe, as unmaintained hardware Konstantin Khorenko
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Konstantin Khorenko @ 2026-09-16 15:40 UTC (permalink / raw)
To: Alexey Kuznetsov, Konstantin Khorenko, devel
From: Alexey Kuznetsov <kuznet@virtuozzo.com>
RHEL refuses to drive the PCI IDs listed in rh_disabled_pci_devices[]:
pci_rh_check_status() matches the device and local_pci_probe() turns
the match into -EACCES, so no driver ever binds to it. The list is a
hardware lifecycle decision rather than a statement about a defect,
and a host whose only NIC or HBA is on it cannot be deployed at all.
Keep probing such a device when skip_pci_blacklist is set. It is still
reported, as unmaintained rather than disabled, so a support dump shows
that the hardware gets no testing and no fixes.
The option is writable at runtime and the list is consulted on every
probe, so a blacklisted device can be brought up without a reboot: set
the option and rebind the device through
/sys/bus/pci/drivers/<driver>/bind.
https://virtuozzo.atlassian.net/browse/VSTOR-145697
Feature: pci: bypass the RHEL disabled device blacklist
Signed-off-by: Alexey Kuznetsov <kuznet@virtuozzo.com>
Signed-off-by: Konstantin Khorenko <khorenko@virtuozzo.com>
---
Documentation/admin-guide/kernel-parameters.txt | 12 ++++++++++++
kernel/rh_messages.c | 9 +++++++++
2 files changed, 21 insertions(+)
diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
index 96ffb86cfa762..aea11ef7d28dc 100644
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
@@ -6313,6 +6313,18 @@
apic=verbose is specified.
Example: apic=debug show_lapic=all
+ skip_pci_blacklist
+ [KNL] Bind drivers to the PCI devices that RHEL lists
+ as disabled, instead of failing their probe. Such a
+ device is reported as unmaintained hardware: it gets
+ no testing and no fixes.
+ Also writable at runtime through
+ /sys/module/kernel/parameters/skip_pci_blacklist, and
+ the list is consulted on every probe, so a device can
+ be brought up by rebinding it afterwards.
+ Format: { "0" | "1" }
+ Default: 0
+
slab_debug[=options[,slabs][;[options[,slabs]]...] [MM]
Enabling slab_debug allows one to determine the
culprit if slab objects become corrupted. Enabling
diff --git a/kernel/rh_messages.c b/kernel/rh_messages.c
index bb69e8965748b..ac3c8bebb8512 100644
--- a/kernel/rh_messages.c
+++ b/kernel/rh_messages.c
@@ -149,6 +149,9 @@ static void pci_hw_unmaintained(struct pci_dev *dev)
dev->device, dev->vendor, pci_name(dev));
}
+static bool skip_pci_blacklist;
+core_param(skip_pci_blacklist, skip_pci_blacklist, bool, 0644);
+
/**
* pci_hw_disabled() - Mark a PCI device disabled.
* @dev: the PCI device structure to match against
@@ -164,6 +167,12 @@ static bool __maybe_unused pci_hw_disabled(struct pci_dev *dev)
if (!ret)
return false;
+ if (skip_pci_blacklist) {
+ mark_hardware_unmaintained(dev_driver_string(&dev->dev), "%04X:%04X @ %s",
+ dev->device, dev->vendor, pci_name(dev));
+ return false;
+ }
+
mark_hardware_disabled(dev_driver_string(&dev->dev), "%04X:%04X @ %s",
dev->device, dev->vendor, pci_name(dev));
return true;
--
2.43.0
_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Devel] [PATCH vz10 v2 2/3] core: allow ConnectX-3 Pro to probe, as unmaintained hardware
2026-09-16 15:40 [Devel] [PATCH vz10 v2 0/3] Restore ConnectX-3 Pro support dropped by RHEL 10 Konstantin Khorenko
2026-09-16 15:40 ` [Devel] [PATCH vz10 v2 1/3] core: add skip_pci_blacklist option to probe RHEL-disabled devices Konstantin Khorenko
@ 2026-09-16 15:40 ` Konstantin Khorenko
2026-09-16 15:40 ` [Devel] [PATCH vz10 v2 3/3] configs: build the mlx4 driver, Ethernet and InfiniBand Konstantin Khorenko
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Konstantin Khorenko @ 2026-09-16 15:40 UTC (permalink / raw)
To: Alexey Kuznetsov, Konstantin Khorenko, devel
From: Alexey Kuznetsov <kuznet@virtuozzo.com>
RHEL 10 dropped the mlx4 driver and put the whole ConnectX-3 family
into rh_disabled_pci_devices[], so local_pci_probe() answers -EACCES
and such a card gets no driver at all. That follows NVIDIA ending
vendor support for the hardware, not any defect: the driver is
maintained upstream and Fedora keeps building it. A host whose only
NIC is a ConnectX-3 Pro cannot run a release kernel.
Move 15b3:1007 (MT27520, ConnectX-3 Pro) to
rh_unmaintained_pci_devices[]. The device is driven again, and the log
still carries "Unmaintained Hardware is detected", which is the truth:
nobody tests this card any more. AlmaLinux made the same move for this
hardware.
The rest of the mlx4 family stays blacklisted, skip_pci_blacklist
covers a host that needs one of those. On x86_64 CONFIG_MLX4_CORE also
has to be switched back on for any of this to matter; aarch64 already
builds mlx4.
https://virtuozzo.atlassian.net/browse/VSTOR-145697
Feature: pci: bypass the RHEL disabled device blacklist
Signed-off-by: Alexey Kuznetsov <kuznet@virtuozzo.com>
Signed-off-by: Konstantin Khorenko <khorenko@virtuozzo.com>
---
kernel/rh_messages.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/rh_messages.h b/kernel/rh_messages.h
index 05ad12af6a6dd..08a44920eb4f2 100644
--- a/kernel/rh_messages.h
+++ b/kernel/rh_messages.h
@@ -265,7 +265,6 @@ static const struct pci_device_id rh_disabled_pci_devices[] = {
{ 0x15B3, 0x1004, PCI_ANY_ID, PCI_ANY_ID },
{ 0x15B3, 0x1005, PCI_ANY_ID, PCI_ANY_ID },
{ 0x15B3, 0x1006, PCI_ANY_ID, PCI_ANY_ID },
- { 0x15B3, 0x1007, PCI_ANY_ID, PCI_ANY_ID },
{ 0x15B3, 0x1008, PCI_ANY_ID, PCI_ANY_ID },
{ 0x15B3, 0x1009, PCI_ANY_ID, PCI_ANY_ID },
{ 0x15B3, 0x100a, PCI_ANY_ID, PCI_ANY_ID },
@@ -329,6 +328,7 @@ static const struct pci_device_id rh_unmaintained_pci_devices[] = {
{ 0x1077, 0x8031, PCI_ANY_ID, PCI_ANY_ID },
{ 0x1924, 0x0803, PCI_ANY_ID, PCI_ANY_ID },
{ 0x1924, 0x0813, PCI_ANY_ID, PCI_ANY_ID },
+ { 0x15B3, 0x1007, PCI_ANY_ID, PCI_ANY_ID },
{0} /* Terminating entry */
};
--
2.43.0
_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Devel] [PATCH vz10 v2 3/3] configs: build the mlx4 driver, Ethernet and InfiniBand
2026-09-16 15:40 [Devel] [PATCH vz10 v2 0/3] Restore ConnectX-3 Pro support dropped by RHEL 10 Konstantin Khorenko
2026-09-16 15:40 ` [Devel] [PATCH vz10 v2 1/3] core: add skip_pci_blacklist option to probe RHEL-disabled devices Konstantin Khorenko
2026-09-16 15:40 ` [Devel] [PATCH vz10 v2 2/3] core: allow ConnectX-3 Pro to probe, as unmaintained hardware Konstantin Khorenko
@ 2026-09-16 15:40 ` Konstantin Khorenko
2026-09-16 15:58 ` [Devel] [PATCH vz10 v2 0/3] Restore ConnectX-3 Pro support dropped by RHEL 10 Alexey Kuznetsov
2026-09-16 16:40 ` Konstantin Khorenko
4 siblings, 0 replies; 6+ messages in thread
From: Konstantin Khorenko @ 2026-09-16 15:40 UTC (permalink / raw)
To: Alexey Kuznetsov, Konstantin Khorenko, devel
RHEL 10 turned CONFIG_MLX4_CORE off on every architecture but aarch64,
so on x86_64 a ConnectX-3 card gets no driver at all, whatever the PCI
blacklist says. Enable the core, the Ethernet and the InfiniBand parts,
the last one to keep RDMA working on these cards.
ConnectX-2 stays unsupported: CONFIG_MLX4_CORE_GEN2 is left off and the
gen2 PCI IDs stay in the RHEL disabled list.
https://virtuozzo.atlassian.net/browse/VSTOR-145697
Feature: pci: bypass the RHEL disabled device blacklist
Signed-off-by: Konstantin Khorenko <khorenko@virtuozzo.com>
---
redhat/configs/custom-overrides/generic/CONFIG_MLX4_CORE | 1 +
redhat/configs/custom-overrides/generic/CONFIG_MLX4_EN | 1 +
redhat/configs/custom-overrides/generic/CONFIG_MLX4_INFINIBAND | 1 +
3 files changed, 3 insertions(+)
diff --git a/redhat/configs/custom-overrides/generic/CONFIG_MLX4_CORE b/redhat/configs/custom-overrides/generic/CONFIG_MLX4_CORE
new file mode 100644
index 0000000000000..1b4c55bdd30c6
--- /dev/null
+++ b/redhat/configs/custom-overrides/generic/CONFIG_MLX4_CORE
@@ -0,0 +1 @@
+CONFIG_MLX4_CORE=m
diff --git a/redhat/configs/custom-overrides/generic/CONFIG_MLX4_EN b/redhat/configs/custom-overrides/generic/CONFIG_MLX4_EN
new file mode 100644
index 0000000000000..0a147ed388218
--- /dev/null
+++ b/redhat/configs/custom-overrides/generic/CONFIG_MLX4_EN
@@ -0,0 +1 @@
+CONFIG_MLX4_EN=m
diff --git a/redhat/configs/custom-overrides/generic/CONFIG_MLX4_INFINIBAND b/redhat/configs/custom-overrides/generic/CONFIG_MLX4_INFINIBAND
new file mode 100644
index 0000000000000..4f7e86412b015
--- /dev/null
+++ b/redhat/configs/custom-overrides/generic/CONFIG_MLX4_INFINIBAND
@@ -0,0 +1 @@
+CONFIG_MLX4_INFINIBAND=m
--
2.43.0
_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Devel] [PATCH vz10 v2 0/3] Restore ConnectX-3 Pro support dropped by RHEL 10
2026-09-16 15:40 [Devel] [PATCH vz10 v2 0/3] Restore ConnectX-3 Pro support dropped by RHEL 10 Konstantin Khorenko
` (2 preceding siblings ...)
2026-09-16 15:40 ` [Devel] [PATCH vz10 v2 3/3] configs: build the mlx4 driver, Ethernet and InfiniBand Konstantin Khorenko
@ 2026-09-16 15:58 ` Alexey Kuznetsov
2026-09-16 16:40 ` Konstantin Khorenko
4 siblings, 0 replies; 6+ messages in thread
From: Alexey Kuznetsov @ 2026-09-16 15:58 UTC (permalink / raw)
To: Konstantin Khorenko; +Cc: devel
Ack to all
On Wed, Sep 16, 2026 at 11:41 PM Konstantin Khorenko
<khorenko@virtuozzo.com> wrote:
>
> RHEL 10 removed the mlx4 driver: CONFIG_MLX4_CORE is off on every
> architecture but aarch64, and the whole ConnectX-3 family sits in
> rh_disabled_pci_devices[], so local_pci_probe() answers -EACCES even
> where the driver is built. A host whose only NIC is a ConnectX-3 Pro
> cannot run a release kernel at all, which is what we hit on lab
> equipment.
>
> The removal follows NVIDIA ending vendor support for the hardware,
> not any defect: the driver is maintained upstream, Fedora builds it,
> and AlmaLinux 10 has already moved the same PCI IDs out of the
> disabled list. The history is collected in the Jira issue below.
>
> Patch 1 adds the skip_pci_blacklist option, so a host that hits the
> blacklist on some other device can still be brought up, from an IPMI
> console if need be.
>
> Patch 2 moves 15b3:1007 (ConnectX-3 Pro) from the disabled list to
> the unmaintained one, so the card is driven while the log keeps
> saying that the hardware is untested.
>
> Patch 3 builds mlx4 again, Ethernet and InfiniBand, without which the
> first two patches change nothing on x86_64.
>
> The rest of the mlx4 family and ConnectX-2 stay as RHEL left them.
>
> https://virtuozzo.atlassian.net/browse/VSTOR-145697
>
> Changes in v2:
> - split the single patch into the option, the PCI ID and the config
> - report a bypassed device as unmaintained rather than deprecated:
> "deprecated" promises support that exists today, which is not true
> for a device RHEL has already disabled
> - move 15b3:1007 into rh_unmaintained_pci_devices[] instead of
> deleting it, so the card is still reported, the way AlmaLinux does
> - keep skip_pci_blacklist and its core_param() next to their only
> user, inside #ifdef CONFIG_PCI
> - document skip_pci_blacklist in kernel-parameters.txt
> - enable CONFIG_MLX4_CORE, CONFIG_MLX4_EN and CONFIG_MLX4_INFINIBAND
> in custom-overrides: RHEL 10 does not build mlx4 on x86_64, so v1
> had no effect there
> - Link to v1: http://lore.virtuozzo.com/aqlsDIyP9+pTstGU@mops2
> Message-Id: <aqlsDIyP9+pTstGU@mops2>
> [Devel] [PATCH VZ10] core: allow to bypass rhel pci blacklist
>
> Signed-off-by: Konstantin Khorenko <khorenko@virtuozzo.com>
> ---
> Alexey Kuznetsov (2):
> core: add skip_pci_blacklist option to probe RHEL-disabled devices
> core: allow ConnectX-3 Pro to probe, as unmaintained hardware
>
> Konstantin Khorenko (1):
> configs: build the mlx4 driver, Ethernet and InfiniBand
>
> Documentation/admin-guide/kernel-parameters.txt | 12 ++++++++++++
> kernel/rh_messages.c | 9 +++++++++
> kernel/rh_messages.h | 2 +-
> redhat/configs/custom-overrides/generic/CONFIG_MLX4_CORE | 1 +
> redhat/configs/custom-overrides/generic/CONFIG_MLX4_EN | 1 +
> .../configs/custom-overrides/generic/CONFIG_MLX4_INFINIBAND | 1 +
> 6 files changed, 25 insertions(+), 1 deletion(-)
> ---
> base-commit: 3fff8724d1f894459c1477990fe086c0c2573410
> change-id: 20260916-b4-prep-khorenko-vstor-145697-mlx4-7d6927d60446
>
> Best regards,
> --
> Konstantin Khorenko <khorenko@virtuozzo.com>
_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Devel] [PATCH vz10 v2 0/3] Restore ConnectX-3 Pro support dropped by RHEL 10
2026-09-16 15:40 [Devel] [PATCH vz10 v2 0/3] Restore ConnectX-3 Pro support dropped by RHEL 10 Konstantin Khorenko
` (3 preceding siblings ...)
2026-09-16 15:58 ` [Devel] [PATCH vz10 v2 0/3] Restore ConnectX-3 Pro support dropped by RHEL 10 Alexey Kuznetsov
@ 2026-09-16 16:40 ` Konstantin Khorenko
4 siblings, 0 replies; 6+ messages in thread
From: Konstantin Khorenko @ 2026-09-16 16:40 UTC (permalink / raw)
To: Alexey Kuznetsov, devel, Konstantin Khorenko
On Wed, 16 Sep 2026 17:40:44 +0200, Konstantin Khorenko wrote:
> Restore ConnectX-3 Pro support dropped by RHEL 10
>
> RHEL 10 removed the mlx4 driver: CONFIG_MLX4_CORE is off on every
> architecture but aarch64, and the whole ConnectX-3 family sits in
> rh_disabled_pci_devices[], so local_pci_probe() answers -EACCES even
> where the driver is built. A host whose only NIC is a ConnectX-3 Pro
> cannot run a release kernel at all, which is what we hit on lab
> equipment.
>
> [...]
Applied to branch-rh10-6.12.0-211.52.1.20.x.vz10-ovz, will be released in rh10-6.12.0-211.52.1.20.6.vz10, thanks!
[1/3] core: add skip_pci_blacklist option to probe RHEL-disabled devices
https://bitbucket.org/virtuozzocore/vzkernel.vzs/commits/21daac1489fa
[2/3] core: allow ConnectX-3 Pro to probe, as unmaintained hardware
https://bitbucket.org/virtuozzocore/vzkernel.vzs/commits/9f4c5028b243
[3/3] configs: build the mlx4 driver, Ethernet and InfiniBand
https://bitbucket.org/virtuozzocore/vzkernel.vzs/commits/8131c40f82bb
--
Konstantin Khorenko <khorenko@virtuozzo.com>
_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2026-09-16 16:42 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-16 15:40 [Devel] [PATCH vz10 v2 0/3] Restore ConnectX-3 Pro support dropped by RHEL 10 Konstantin Khorenko
2026-09-16 15:40 ` [Devel] [PATCH vz10 v2 1/3] core: add skip_pci_blacklist option to probe RHEL-disabled devices Konstantin Khorenko
2026-09-16 15:40 ` [Devel] [PATCH vz10 v2 2/3] core: allow ConnectX-3 Pro to probe, as unmaintained hardware Konstantin Khorenko
2026-09-16 15:40 ` [Devel] [PATCH vz10 v2 3/3] configs: build the mlx4 driver, Ethernet and InfiniBand Konstantin Khorenko
2026-09-16 15:58 ` [Devel] [PATCH vz10 v2 0/3] Restore ConnectX-3 Pro support dropped by RHEL 10 Alexey Kuznetsov
2026-09-16 16:40 ` Konstantin Khorenko
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox