UPSTREAM: wireguard: queueing: use saner cpu selection wrapping
Using `% nr_cpumask_bits` is slow and complicated, and not totally
robust toward dynamic changes to CPU topologies. Rather than storing the
next CPU in the round-robin, just store the last one, and also return
that value. This simplifies the loop drastically into a much more common
pattern.
Bug: 254441685
Fixes: e7096c131e51 ("net: WireGuard secure network tunnel")
Cc: stable@vger.kernel.org
Reported-by:
Linus Torvalds <torvalds@linux-foundation.org>
Tested-by:
Manuel Leiner <manuel.leiner@gmx.de>
Signed-off-by:
Jason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by:
David S. Miller <davem@davemloft.net>
(cherry picked from commit 7387943fa35516f6f8017a3b0e9ce48a3bef9faa)
Signed-off-by:
Lee Jones <joneslee@google.com>
Change-Id: If8ee62e0fd2aa01333b63c905734059ac2bf3c6f
Loading
Please register or sign in to comment