net: mvpp2: Prevent userspace from changing TX affinities
authorMarc Zyngier <marc.zyngier@arm.com>
Sat, 4 Nov 2017 12:33:47 +0000 (12:33 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 8 Nov 2017 01:30:34 +0000 (10:30 +0900)
commit13c249a94f525fe4c757d28854049780b25605c4
treef5a0f6ce23bf2fdbf688b7e256fab945896ab8f2
parentd09b9e60e06d431b008a878c4b1d48d6cce816ef
net: mvpp2: Prevent userspace from changing TX affinities

The mvpp2 driver can't cope at all with the TX affinities being
changed from userspace, and spit an endless stream of

[   91.779920] mvpp2 f4000000.ethernet eth2: wrong cpu on the end of Tx processing
[   91.779930] mvpp2 f4000000.ethernet eth2: wrong cpu on the end of Tx processing
[   91.780402] mvpp2 f4000000.ethernet eth2: wrong cpu on the end of Tx processing
[   91.780406] mvpp2 f4000000.ethernet eth2: wrong cpu on the end of Tx processing
[   91.780415] mvpp2 f4000000.ethernet eth2: wrong cpu on the end of Tx processing
[   91.780418] mvpp2 f4000000.ethernet eth2: wrong cpu on the end of Tx processing

rendering the box completely useless (I've measured around 600k
interrupts/s on a 8040 box) once irqbalance kicks in and start
doing its job.

Obviously, the driver was never designed with this in mind. So let's
work around the problem by preventing userspace from interacting
with these interrupts altogether.

Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/marvell/mvpp2.c