diff mbox series

replace if with min

Message ID 20210712204546.GA1492390@pc
State New
Headers show
Series replace if with min | expand

Commit Message

Salah Triki July 12, 2021, 8:45 p.m. UTC
Replace if with min in order to make code more clean.

Signed-off-by: Salah Triki <salah.triki@gmail.com>
---
 drivers/crypto/nx/nx-842.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Comments

Christophe Leroy July 19, 2021, 4:12 p.m. UTC | #1
Salah Triki <salah.triki@gmail.com> a écrit :

> Replace if with min in order to make code more clean.

>

> Signed-off-by: Salah Triki <salah.triki@gmail.com>

> ---

>  drivers/crypto/nx/nx-842.c | 3 +--

>  1 file changed, 1 insertion(+), 2 deletions(-)

>

> diff --git a/drivers/crypto/nx/nx-842.c b/drivers/crypto/nx/nx-842.c

> index 2ab90ec10e61..0d1d5a463899 100644

> --- a/drivers/crypto/nx/nx-842.c

> +++ b/drivers/crypto/nx/nx-842.c

> @@ -134,8 +134,7 @@ EXPORT_SYMBOL_GPL(nx842_crypto_exit);

>  static void check_constraints(struct nx842_constraints *c)

>  {

>  	/* limit maximum, to always have enough bounce buffer to decompress */

> -	if (c->maximum > BOUNCE_BUFFER_SIZE)

> -		c->maximum = BOUNCE_BUFFER_SIZE;

> +	c->maximum = min(c->maximum, BOUNCE_BUFFER_SIZE);


For me the code is less clear with this change, and in addition it  
slightly changes the behaviour. Before, the write was done only when  
the value was changing. Now you rewrite the value always, even when it  
doesn't change.

>  }

>

>  static int nx842_crypto_add_header(struct nx842_crypto_header *hdr, u8 *buf)

> --

> 2.25.1
Segher Boessenkool July 19, 2021, 5:04 p.m. UTC | #2
On Mon, Jul 19, 2021 at 06:12:05PM +0200, Christophe Leroy wrote:
> Salah Triki <salah.triki@gmail.com> a écrit :

> >Replace if with min in order to make code more clean.


> >--- a/drivers/crypto/nx/nx-842.c

> >+++ b/drivers/crypto/nx/nx-842.c

> >@@ -134,8 +134,7 @@ EXPORT_SYMBOL_GPL(nx842_crypto_exit);

> > static void check_constraints(struct nx842_constraints *c)

> > {

> > 	/* limit maximum, to always have enough bounce buffer to decompress 

> > 	*/

> >-	if (c->maximum > BOUNCE_BUFFER_SIZE)

> >-		c->maximum = BOUNCE_BUFFER_SIZE;

> >+	c->maximum = min(c->maximum, BOUNCE_BUFFER_SIZE);

> 

> For me the code is less clear with this change, and in addition it  

> slightly changes the behaviour. Before, the write was done only when  

> the value was changing. Now you rewrite the value always, even when it  

> doesn't change.


In both cases the compiler can decide to either write it more often than
strictly needed, depending on what it thinks best (and it usually has
better estimates than the programmer).  The behaviour is identical (and
the generated machine code is as well, in my testing).

The field name "maximum" is not the best choice, which makes the code
read a bit funny ("the min of max"), but the comment makes things pretty
clear.


Segher
diff mbox series

Patch

diff --git a/drivers/crypto/nx/nx-842.c b/drivers/crypto/nx/nx-842.c
index 2ab90ec10e61..0d1d5a463899 100644
--- a/drivers/crypto/nx/nx-842.c
+++ b/drivers/crypto/nx/nx-842.c
@@ -134,8 +134,7 @@  EXPORT_SYMBOL_GPL(nx842_crypto_exit);
 static void check_constraints(struct nx842_constraints *c)
 {
 	/* limit maximum, to always have enough bounce buffer to decompress */
-	if (c->maximum > BOUNCE_BUFFER_SIZE)
-		c->maximum = BOUNCE_BUFFER_SIZE;
+	c->maximum = min(c->maximum, BOUNCE_BUFFER_SIZE);
 }
 
 static int nx842_crypto_add_header(struct nx842_crypto_header *hdr, u8 *buf)