From c534c789b3bbced74d3a4a0e608a3bc9a46b8d1a Mon Sep 17 00:00:00 2001 From: Jon Hunter Date: Fri, 1 Mar 2024 13:35:18 +0000 Subject: [PATCH] net: nvethernet: Prevent VM interrupts being balanced If the userspace service 'irqbalance' is installed then the nvethernet driver crashes when there is network activity. To avoid this crash set the IRQF_NOBALANCING flash for the VM interrupts. No performance degradation is observed when running iperf3 with a 1Gbps link. Long-term the nvethernet driver still needs to be fixed to allow IRQ balancing. Bug 4293378 Bug 4541158 Change-Id: I0aa4ee28e36c7d273f14ff043544e72d3e988bd3 Signed-off-by: Jon Hunter Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3087525 (cherry picked from commit f9ed570c2b27ea7add5568e8ce4daa45c0fc6372) Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3088936 Reviewed-by: Revanth Kumar Uppala GVS: Gerrit_Virtual_Submit --- drivers/net/ethernet/nvidia/nvethernet/ether_linux.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/nvidia/nvethernet/ether_linux.c b/drivers/net/ethernet/nvidia/nvethernet/ether_linux.c index 92b53d23..4a4fd8bd 100644 --- a/drivers/net/ethernet/nvidia/nvethernet/ether_linux.c +++ b/drivers/net/ethernet/nvidia/nvethernet/ether_linux.c @@ -1,5 +1,5 @@ // SPDX-License-Identifier: GPL-2.0-only -/* Copyright (c) 2019-2024, NVIDIA CORPORATION. All rights reserved */ +// SPDX-FileCopyrightText: Copyright (c) 2019-2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved. #include #include @@ -1645,7 +1645,8 @@ static int ether_request_irqs(struct ether_priv_data *pdata) snprintf(pdata->irq_names[j], ETHER_IRQ_NAME_SZ, "%s.vm%d", netdev_name(pdata->ndev), i); ret = devm_request_irq(pdata->dev, pdata->vm_irqs[i], - ether_vm_isr, IRQF_TRIGGER_NONE, + ether_vm_isr, + IRQF_TRIGGER_NONE | IRQF_NOBALANCING, pdata->irq_names[j++], &pdata->vm_irq_data[i]); if (unlikely(ret < 0)) {