[GIT pull] irq/urgent for 5.3-rc4

From: Thomas Gleixner
Date: Sat Aug 10 2019 - 16:08:16 EST


Linus,

please pull the latest irq-urgent-for-linus git tree from:

git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq-urgent-for-linus

up to: 491beed3b102: genirq/affinity: Create affinity mask for single vector

A small fix for the affinity spreading code. It failed to handle situations
where a single vector was requested either due to only one CPU being
available or vector exhaustion causing only a single interrupt to be
granted. The fix is to simply remove the requirement in the affinity
spreading code for more than one interrupt being available.

Thanks,

tglx

------------------>
Ming Lei (1):
genirq/affinity: Create affinity mask for single vector


kernel/irq/affinity.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/kernel/irq/affinity.c b/kernel/irq/affinity.c
index 4352b08ae48d..6fef48033f96 100644
--- a/kernel/irq/affinity.c
+++ b/kernel/irq/affinity.c
@@ -251,11 +251,9 @@ irq_create_affinity_masks(unsigned int nvecs, struct irq_affinity *affd)
* Determine the number of vectors which need interrupt affinities
* assigned. If the pre/post request exhausts the available vectors
* then nothing to do here except for invoking the calc_sets()
- * callback so the device driver can adjust to the situation. If there
- * is only a single vector, then managing the queue is pointless as
- * well.
+ * callback so the device driver can adjust to the situation.
*/
- if (nvecs > 1 && nvecs > affd->pre_vectors + affd->post_vectors)
+ if (nvecs > affd->pre_vectors + affd->post_vectors)
affvecs = nvecs - affd->pre_vectors - affd->post_vectors;
else
affvecs = 0;