genirq/affinity: Take reserved vectors into account when spreading irqs
authorChristoph Hellwig <hch@lst.de>
Tue, 15 Nov 2016 09:12:58 +0000 (10:12 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Wed, 16 Nov 2016 17:44:01 +0000 (18:44 +0100)
commitbfe130773862bb3a02cdc4d4c2169f7f0210a46b
treee026aa41056eb5d31188f47fc0b499566ae6ab91
parent0cf71b04467bc34063cecae577f12481da6cc565
genirq/affinity: Take reserved vectors into account when spreading irqs

The recent addition of reserved vectors at the beginning or the end of the
vector space did not take the reserved vectors at the beginning into
account for the various loop exit conditions. As a consequence the last
vectors of the spread area are not included into the spread algorithm and
are treated like the reserved vectors at the end of the vector space and
get the default affinity mask assigned.

Sum up the affinity vectors and the reserved vectors at the beginning and
use the sum as exit condition.

[ tglx: Fixed all conditions instead of only one and massaged changelog ]

Signed-off-by: Christoph Hellwig <hch@lst.de>
Link: http://lkml.kernel.org/r/1479201178-29604-2-git-send-email-hch@lst.de
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
kernel/irq/affinity.c