On 20.04.23 17:10, Stephen Hemminger wrote:
On Thu, 20 Apr 2023 16:23:10 +0200
Maciej Fijalkowski <maciej.fijalkowski@xxxxxxxxx> wrote:
On Tue, Apr 18, 2023 at 09:04:54PM +0200, Gerhard Engleder wrote:
TX/RX ring size is static and power of 2 to enable compiler to optimize
modulo operation to mask operation. Make this optimization already in
the code and don't rely on the compiler.
I think this came out of my review, so:
Suggested-by: Maciej Fijalkowski <maciej.fijalkowski@xxxxxxxxx>
Does this give you a minor perf boost?
If you change the loop counter to be unsigned, then Gcc (and Clang)
will optimize this into a mask operation. That is a better simpler fix.
If loop counter (i) is an integer, then compiler has keep the
potential for wrap around.
I'm unsure which solution should be preferred. But I could change to
unsigned anyway.