
To keep kernel debian stx aligned with centos stx, porting below commits from centos stx to debian stx: (1)patches related ef3c9a4 kernel: Add auxiliary bus support 19ca0df kernel: Backport IRQ affinity patches a10b746 workqueue affinity: Remove unused variable 8fde1a8 kthread_cpus: Avoid large stack allocation bb6ec66 scsi: Make the disk detection order more consistent bf940a8 rcu: Avoid RCU-related unexpected reboot cfe452a workqueue: Affine rescuer threads and unbound wqs (2)config related 6fe8d60 kernel: Disable NVMe multi-path kconfig option c9cdb90 Fixup recent kconfig cleanup 8551799 Resolve v5.10 kernel configuration file differences (3)kernel-modules related 7ded004 kernel-modules: IRQ affinity hint fix-ups Please pay attention to: [ef3c9a4 kernel: Add auxiliary bus support] which is not only related with kernel patches but also related with kernel-modules. It removes the auxiliary.ko from the oot ice package because auxiliary bus device driver is built into kernel. But the detecting of builtin auxiliary driver in intel-iavf/intel-ice oot driver will fail because debian has 2 linux header packages. So extra patches are added for intel-iavf and intel-ice to pass linux common header to check_aux_bus to make builtin auxiliary driver detected. At the same time the patch [check_aux_bus: Look for kernel headers in the right location] for the oot drivers is removed because it isn't needed any more if the right header path is passed. Test Plan: - PASS: Build kernel-std/kernel-rt. - PASS: Build the 7 oot kernel modules for kernel-std/kernel-rt. - PASS: Build the iso for kernel-std and modules and boot up on qemu. - PASS: Build the test iso for kernel-rt and modules and boot up on qemu. Story: 2009221 Task: 44989 Signed-off-by: Li Zhou <li.zhou@windriver.com> Change-Id: Ic7cddc068eab1516800e90bfe431d042274f86d3
65 lines
2.6 KiB
Diff
65 lines
2.6 KiB
Diff
From 07298341feaa2c35fdd225735b4ee5299efb112f Mon Sep 17 00:00:00 2001
|
|
From: Nitesh Narayan Lal <nitesh@redhat.com>
|
|
Date: Fri, 3 Sep 2021 11:24:25 -0400
|
|
Subject: [PATCH] ixgbe: Use irq_update_affinity_hint()
|
|
|
|
The driver uses irq_set_affinity_hint() to update the affinity_hint mask
|
|
that is consumed by the userspace to distribute the interrupts. However,
|
|
under the hood irq_set_affinity_hint() also applies the provided cpumask
|
|
(if not NULL) as the affinity for the given interrupt which is an
|
|
undocumented side effect.
|
|
|
|
To remove this side effect irq_set_affinity_hint() has been marked
|
|
as deprecated and new interfaces have been introduced. Hence, replace the
|
|
irq_set_affinity_hint() with the new interface irq_update_affinity_hint()
|
|
that only updates the affinity_hint pointer.
|
|
|
|
Signed-off-by: Nitesh Narayan Lal <nitesh@redhat.com>
|
|
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
|
Acked-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
|
|
Link: https://lore.kernel.org/r/20210903152430.244937-10-nitesh@redhat.com
|
|
(cherry picked from commit cc493264c01d055742a34cfbaecaffb258dcc58c)
|
|
Signed-off-by: M. Vefa Bicakci <vefa.bicakci@windriver.com>
|
|
---
|
|
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 10 +++++-----
|
|
1 file changed, 5 insertions(+), 5 deletions(-)
|
|
|
|
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
|
|
index ffe322136c58..fe10776d8479 100644
|
|
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
|
|
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
|
|
@@ -3250,8 +3250,8 @@ static int ixgbe_request_msix_irqs(struct ixgbe_adapter *adapter)
|
|
/* If Flow Director is enabled, set interrupt affinity */
|
|
if (adapter->flags & IXGBE_FLAG_FDIR_HASH_CAPABLE) {
|
|
/* assign the mask for this irq */
|
|
- irq_set_affinity_hint(entry->vector,
|
|
- &q_vector->affinity_mask);
|
|
+ irq_update_affinity_hint(entry->vector,
|
|
+ &q_vector->affinity_mask);
|
|
}
|
|
}
|
|
|
|
@@ -3267,8 +3267,8 @@ static int ixgbe_request_msix_irqs(struct ixgbe_adapter *adapter)
|
|
free_queue_irqs:
|
|
while (vector) {
|
|
vector--;
|
|
- irq_set_affinity_hint(adapter->msix_entries[vector].vector,
|
|
- NULL);
|
|
+ irq_update_affinity_hint(adapter->msix_entries[vector].vector,
|
|
+ NULL);
|
|
free_irq(adapter->msix_entries[vector].vector,
|
|
adapter->q_vector[vector]);
|
|
}
|
|
@@ -3401,7 +3401,7 @@ static void ixgbe_free_irq(struct ixgbe_adapter *adapter)
|
|
continue;
|
|
|
|
/* clear the affinity_mask in the IRQ descriptor */
|
|
- irq_set_affinity_hint(entry->vector, NULL);
|
|
+ irq_update_affinity_hint(entry->vector, NULL);
|
|
|
|
free_irq(entry->vector, q_vector);
|
|
}
|
|
--
|
|
2.29.2
|
|
|