Subject: Re: [PATCH net-next v3 1/6] tsnep: Replace modulo operation with mask

From: Stephen Hemminger <[email-masked]>
Date: Thu, 20 Apr 2023 08:10:13 -0700

On Thu, 20 Apr 2023 16:23:10 +0200
Maciej Fijalkowski <[email-masked]> 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 <[email-masked]>
> 
> 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.