From: Simon Horman <horms@kernel.org>
To: David Laight <David.Laight@aculab.com>
Cc: Yan Zhen <yanzhen@vivo.com>,
"marcin.s.wojtas@gmail.com" <marcin.s.wojtas@gmail.com>,
"davem@davemloft.net" <davem@davemloft.net>,
"edumazet@google.com" <edumazet@google.com>,
"kuba@kernel.org" <kuba@kernel.org>,
"pabeni@redhat.com" <pabeni@redhat.com>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"opensource.kernel@vivo.com" <opensource.kernel@vivo.com>
Subject: Re: [PATCH v1] ethernet: marvell: Use min macro
Date: Sun, 1 Sep 2024 18:11:50 +0100 [thread overview]
Message-ID: <20240901171150.GA23170@kernel.org> (raw)
In-Reply-To: <7cfe24b82098487e9b1d35f964bf652f@AcuMS.aculab.com>
On Sat, Aug 31, 2024 at 12:39:28PM +0000, David Laight wrote:
> From: Simon Horman
> > Sent: 27 August 2024 18:58
> >
> > On Tue, Aug 27, 2024 at 06:54:08PM +0100, Simon Horman wrote:
> > > On Tue, Aug 27, 2024 at 07:58:48PM +0800, Yan Zhen wrote:
> > > > Using the real macro is usually more intuitive and readable,
> > > > When the original file is guaranteed to contain the minmax.h header file
> > > > and compile correctly.
> > > >
> > > > Signed-off-by: Yan Zhen <yanzhen@vivo.com>
> > > > ---
> > > > drivers/net/ethernet/marvell/mvneta.c | 3 +--
> > > > 1 file changed, 1 insertion(+), 2 deletions(-)
> > > >
> > > > diff --git a/drivers/net/ethernet/marvell/mvneta.c b/drivers/net/ethernet/marvell/mvneta.c
> > > > index d72b2d5f96db..415d2b9e63f9 100644
> > > > --- a/drivers/net/ethernet/marvell/mvneta.c
> > > > +++ b/drivers/net/ethernet/marvell/mvneta.c
> > > > @@ -4750,8 +4750,7 @@ mvneta_ethtool_set_ringparam(struct net_device *dev,
> > > >
> > > > if ((ring->rx_pending == 0) || (ring->tx_pending == 0))
> > > > return -EINVAL;
> > > > - pp->rx_ring_size = ring->rx_pending < MVNETA_MAX_RXD ?
> > > > - ring->rx_pending : MVNETA_MAX_RXD;
> > > > + pp->rx_ring_size = min(ring->rx_pending, MVNETA_MAX_RXD);
> > >
> > > Given that the type of ring->rx_pending is __32, and MVNETA_MAX_RXD is
> > > a positive value.
> >
> > Sorry, I hit send to soon. What I wanted to say is:
> >
> > I think that it is appropriate to use umin() here.
> > Because:
> > 1) As I understand things, the type of MVNETA_MAX_RXD is signed,
> > but it always holds a positive value
> > 2) ring->rx_pending is unsigned
>
> Provided MVNETA_MAX_RXD is constant it is fine.
> umin() is only needed for signed variables that can only contain
> non-negative values.
>
> You only need to use it is the compiler bleats...
>
> umin(x, y) is safer than min_t(unsigned_type, x, y) because you can't
> get the type wrong.
> If will also generate better code since it never sign extends a
> 32bit value to 64bits (expensive on 32bit).
Hi David,
My understanding of umin() was a bit off - I thought it was
also relevant when one of the arguments is a constant.
Thanks for setting me straight.
prev parent reply other threads:[~2024-09-01 17:12 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-27 11:58 [PATCH v1] ethernet: marvell: Use min macro Yan Zhen
2024-08-27 17:54 ` Simon Horman
2024-08-27 17:57 ` Simon Horman
2024-08-31 12:39 ` David Laight
2024-09-01 17:11 ` Simon Horman [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240901171150.GA23170@kernel.org \
--to=horms@kernel.org \
--cc=David.Laight@aculab.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=marcin.s.wojtas@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=opensource.kernel@vivo.com \
--cc=pabeni@redhat.com \
--cc=yanzhen@vivo.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.