Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull irq fix from Thomas Gleixner:
"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"

* 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
genirq/affinity: Create affinity mask for single vector

+2 -4
+2 -4
kernel/irq/affinity.c
··· 251 251 * Determine the number of vectors which need interrupt affinities 252 252 * assigned. If the pre/post request exhausts the available vectors 253 253 * then nothing to do here except for invoking the calc_sets() 254 - * callback so the device driver can adjust to the situation. If there 255 - * is only a single vector, then managing the queue is pointless as 256 - * well. 254 + * callback so the device driver can adjust to the situation. 257 255 */ 258 - if (nvecs > 1 && nvecs > affd->pre_vectors + affd->post_vectors) 256 + if (nvecs > affd->pre_vectors + affd->post_vectors) 259 257 affvecs = nvecs - affd->pre_vectors - affd->post_vectors; 260 258 else 261 259 affvecs = 0;