[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230420081013.6e2040c5@hermes.local>
Date: Thu, 20 Apr 2023 08:10:13 -0700
From: Stephen Hemminger <stephen@...workplumber.org>
To: Maciej Fijalkowski <maciej.fijalkowski@...el.com>
Cc: Gerhard Engleder <gerhard@...leder-embedded.com>,
<netdev@...r.kernel.org>, <bpf@...r.kernel.org>,
<davem@...emloft.net>, <kuba@...nel.org>, <edumazet@...gle.com>,
<pabeni@...hat.com>, <bjorn@...nel.org>,
<magnus.karlsson@...el.com>, <jonathan.lemon@...il.com>
Subject: Re: [PATCH net-next v3 1/6] tsnep: Replace modulo operation with
mask
On Thu, 20 Apr 2023 16:23:10 +0200
Maciej Fijalkowski <maciej.fijalkowski@...el.com> 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@...el.com>
>
> 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.
Powered by blists - more mailing lists