linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] use DIV_ROUND_UP helper macro for calculations
@ 2021-05-25  8:15 Wu Bo
  2021-05-25  8:15 ` [PATCH 1/2] crypto: af_alg - " Wu Bo
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Wu Bo @ 2021-05-25  8:15 UTC (permalink / raw)
  To: viro, herbert, davem, linux-fsdevel, linux-crypto, linux-kernel
  Cc: linfeilong, wubo40

This patchset is replace open coded divisor calculations with the 
DIV_ROUND_UP kernel macro for better readability.

Wu Bo (2):
  crypto: af_alg - use DIV_ROUND_UP helper macro for calculations
  fs: direct-io: use DIV_ROUND_UP helper macro for calculations

 crypto/af_alg.c | 2 +-
 fs/direct-io.c  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

-- 
1.8.3.1


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 1/2] crypto: af_alg - use DIV_ROUND_UP helper macro for calculations
  2021-05-25  8:15 [PATCH 0/2] use DIV_ROUND_UP helper macro for calculations Wu Bo
@ 2021-05-25  8:15 ` Wu Bo
  2021-05-25  8:37   ` Christophe Leroy
  2021-06-03 12:30   ` Herbert Xu
  2021-05-25  8:15 ` [PATCH 2/2] fs: direct-io: " Wu Bo
  2021-05-25  8:41 ` [PATCH 0/2] " Christophe Leroy
  2 siblings, 2 replies; 8+ messages in thread
From: Wu Bo @ 2021-05-25  8:15 UTC (permalink / raw)
  To: viro, herbert, davem, linux-fsdevel, linux-crypto, linux-kernel
  Cc: linfeilong, wubo40

From: Wu Bo <wubo40@huawei.com>

Replace open coded divisor calculations with the DIV_ROUND_UP kernel
macro for better readability.

Signed-off-by: Wu Bo <wubo40@huawei.com>
---
 crypto/af_alg.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/crypto/af_alg.c b/crypto/af_alg.c
index 18cc82d..8bd288d 100644
--- a/crypto/af_alg.c
+++ b/crypto/af_alg.c
@@ -411,7 +411,7 @@ int af_alg_make_sg(struct af_alg_sgl *sgl, struct iov_iter *iter, int len)
 	if (n < 0)
 		return n;
 
-	npages = (off + n + PAGE_SIZE - 1) >> PAGE_SHIFT;
+	npages = DIV_ROUND_UP(off + n, PAGE_SIZE);
 	if (WARN_ON(npages == 0))
 		return -EINVAL;
 	/* Add one extra for linking */
-- 
1.8.3.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 2/2] fs: direct-io: use DIV_ROUND_UP helper macro for calculations
  2021-05-25  8:15 [PATCH 0/2] use DIV_ROUND_UP helper macro for calculations Wu Bo
  2021-05-25  8:15 ` [PATCH 1/2] crypto: af_alg - " Wu Bo
@ 2021-05-25  8:15 ` Wu Bo
  2021-05-25  8:38   ` Christophe Leroy
  2021-05-25  8:41 ` [PATCH 0/2] " Christophe Leroy
  2 siblings, 1 reply; 8+ messages in thread
From: Wu Bo @ 2021-05-25  8:15 UTC (permalink / raw)
  To: viro, herbert, davem, linux-fsdevel, linux-crypto, linux-kernel
  Cc: linfeilong, wubo40

From: Wu Bo <wubo40@huawei.com>

Replace open coded divisor calculations with the DIV_ROUND_UP kernel
macro for better readability.

Signed-off-by: Wu Bo <wubo40@huawei.com>
---
 fs/direct-io.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/direct-io.c b/fs/direct-io.c
index b2e86e7..6e7d402 100644
--- a/fs/direct-io.c
+++ b/fs/direct-io.c
@@ -195,7 +195,7 @@ static inline int dio_refill_pages(struct dio *dio, struct dio_submit *sdio)
 		iov_iter_advance(sdio->iter, ret);
 		ret += sdio->from;
 		sdio->head = 0;
-		sdio->tail = (ret + PAGE_SIZE - 1) / PAGE_SIZE;
+		sdio->tail = DIV_ROUND_UP(ret, PAGE_SIZE);
 		sdio->to = ((ret - 1) & (PAGE_SIZE - 1)) + 1;
 		return 0;
 	}
-- 
1.8.3.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/2] crypto: af_alg - use DIV_ROUND_UP helper macro for calculations
  2021-05-25  8:15 ` [PATCH 1/2] crypto: af_alg - " Wu Bo
@ 2021-05-25  8:37   ` Christophe Leroy
  2021-05-26  8:31     ` Dave Chinner
  2021-06-03 12:30   ` Herbert Xu
  1 sibling, 1 reply; 8+ messages in thread
From: Christophe Leroy @ 2021-05-25  8:37 UTC (permalink / raw)
  To: Wu Bo
  Cc: linfeilong, linux-kernel, linux-crypto, linux-fsdevel, davem,
	herbert, viro

Wu Bo <wubo40@huawei.com> a écrit :

> From: Wu Bo <wubo40@huawei.com>
>
> Replace open coded divisor calculations with the DIV_ROUND_UP kernel
> macro for better readability.
>
> Signed-off-by: Wu Bo <wubo40@huawei.com>
> ---
>  crypto/af_alg.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/crypto/af_alg.c b/crypto/af_alg.c
> index 18cc82d..8bd288d 100644
> --- a/crypto/af_alg.c
> +++ b/crypto/af_alg.c
> @@ -411,7 +411,7 @@ int af_alg_make_sg(struct af_alg_sgl *sgl,  
> struct iov_iter *iter, int len)
>  	if (n < 0)
>  		return n;
>
> -	npages = (off + n + PAGE_SIZE - 1) >> PAGE_SHIFT;
> +	npages = DIV_ROUND_UP(off + n, PAGE_SIZE);

You should use PFN_UP()

>  	if (WARN_ON(npages == 0))
>  		return -EINVAL;
>  	/* Add one extra for linking */
> --
> 1.8.3.1



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 2/2] fs: direct-io: use DIV_ROUND_UP helper macro for calculations
  2021-05-25  8:15 ` [PATCH 2/2] fs: direct-io: " Wu Bo
@ 2021-05-25  8:38   ` Christophe Leroy
  0 siblings, 0 replies; 8+ messages in thread
From: Christophe Leroy @ 2021-05-25  8:38 UTC (permalink / raw)
  To: Wu Bo
  Cc: linfeilong, linux-kernel, linux-crypto, linux-fsdevel, davem,
	herbert, viro

Wu Bo <wubo40@huawei.com> a écrit :

> From: Wu Bo <wubo40@huawei.com>
>
> Replace open coded divisor calculations with the DIV_ROUND_UP kernel
> macro for better readability.
>
> Signed-off-by: Wu Bo <wubo40@huawei.com>
> ---
>  fs/direct-io.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/direct-io.c b/fs/direct-io.c
> index b2e86e7..6e7d402 100644
> --- a/fs/direct-io.c
> +++ b/fs/direct-io.c
> @@ -195,7 +195,7 @@ static inline int dio_refill_pages(struct dio  
> *dio, struct dio_submit *sdio)
>  		iov_iter_advance(sdio->iter, ret);
>  		ret += sdio->from;
>  		sdio->head = 0;
> -		sdio->tail = (ret + PAGE_SIZE - 1) / PAGE_SIZE;
> +		sdio->tail = DIV_ROUND_UP(ret, PAGE_SIZE);

Use PFN_UP() instead.


>  		sdio->to = ((ret - 1) & (PAGE_SIZE - 1)) + 1;
>  		return 0;
>  	}
> --
> 1.8.3.1



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 0/2] use DIV_ROUND_UP helper macro for calculations
  2021-05-25  8:15 [PATCH 0/2] use DIV_ROUND_UP helper macro for calculations Wu Bo
  2021-05-25  8:15 ` [PATCH 1/2] crypto: af_alg - " Wu Bo
  2021-05-25  8:15 ` [PATCH 2/2] fs: direct-io: " Wu Bo
@ 2021-05-25  8:41 ` Christophe Leroy
  2 siblings, 0 replies; 8+ messages in thread
From: Christophe Leroy @ 2021-05-25  8:41 UTC (permalink / raw)
  To: Wu Bo
  Cc: linfeilong, linux-kernel, linux-crypto, linux-fsdevel, davem,
	herbert, viro

Wu Bo <wubo40@huawei.com> a écrit :

> This patchset is replace open coded divisor calculations with the
> DIV_ROUND_UP kernel macro for better readability.

We call it a series not a patchset.

PFN_UP() from pfn.h should be used instead of DIV_ROUND_UP() I believe.

>
> Wu Bo (2):
>   crypto: af_alg - use DIV_ROUND_UP helper macro for calculations
>   fs: direct-io: use DIV_ROUND_UP helper macro for calculations
>
>  crypto/af_alg.c | 2 +-
>  fs/direct-io.c  | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
>
> --
> 1.8.3.1



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/2] crypto: af_alg - use DIV_ROUND_UP helper macro for calculations
  2021-05-25  8:37   ` Christophe Leroy
@ 2021-05-26  8:31     ` Dave Chinner
  0 siblings, 0 replies; 8+ messages in thread
From: Dave Chinner @ 2021-05-26  8:31 UTC (permalink / raw)
  To: Christophe Leroy
  Cc: Wu Bo, linfeilong, linux-kernel, linux-crypto, linux-fsdevel,
	davem, herbert, viro

On Tue, May 25, 2021 at 10:37:44AM +0200, Christophe Leroy wrote:
> Wu Bo <wubo40@huawei.com> a écrit :
> 
> > From: Wu Bo <wubo40@huawei.com>
> > 
> > Replace open coded divisor calculations with the DIV_ROUND_UP kernel
> > macro for better readability.
> > 
> > Signed-off-by: Wu Bo <wubo40@huawei.com>
> > ---
> >  crypto/af_alg.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/crypto/af_alg.c b/crypto/af_alg.c
> > index 18cc82d..8bd288d 100644
> > --- a/crypto/af_alg.c
> > +++ b/crypto/af_alg.c
> > @@ -411,7 +411,7 @@ int af_alg_make_sg(struct af_alg_sgl *sgl, struct
> > iov_iter *iter, int len)
> >  	if (n < 0)
> >  		return n;
> > 
> > -	npages = (off + n + PAGE_SIZE - 1) >> PAGE_SHIFT;
> > +	npages = DIV_ROUND_UP(off + n, PAGE_SIZE);
> 
> You should use PFN_UP()

No. We are not using pfns here - we're converting a byte count to a
page count.

Besides, "PFN_UP" is a horrible, awful api. It does not decribe what
it does and anyone who is not a mm developer will look at it and ask
"what <the ....> does this do?" and have to go looking for it's
definition to determine what it does. Yes, that's exactyl what I've
just done, and I really wish I didn't because, well, it just
reinforces how much we suck at APIs...

OTOH, what DIV_ROUND_UP() does is obvious, widely understood, self
documenting and easy to determine if the usage is correct, which
indeed this is.

The lesson: do not use whacky obscure, out of context macros when a
simple, obvious, widely known macro will give the same result and
make the code easier to understand.

Cheers,

Dave.
-- 
Dave Chinner
david@fromorbit.com

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/2] crypto: af_alg - use DIV_ROUND_UP helper macro for calculations
  2021-05-25  8:15 ` [PATCH 1/2] crypto: af_alg - " Wu Bo
  2021-05-25  8:37   ` Christophe Leroy
@ 2021-06-03 12:30   ` Herbert Xu
  1 sibling, 0 replies; 8+ messages in thread
From: Herbert Xu @ 2021-06-03 12:30 UTC (permalink / raw)
  To: Wu Bo; +Cc: viro, davem, linux-fsdevel, linux-crypto, linux-kernel, linfeilong

On Tue, May 25, 2021 at 04:15:19PM +0800, Wu Bo wrote:
> From: Wu Bo <wubo40@huawei.com>
> 
> Replace open coded divisor calculations with the DIV_ROUND_UP kernel
> macro for better readability.
> 
> Signed-off-by: Wu Bo <wubo40@huawei.com>
> ---
>  crypto/af_alg.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Patch applied.  Thanks.
-- 
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2021-06-03 12:30 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-25  8:15 [PATCH 0/2] use DIV_ROUND_UP helper macro for calculations Wu Bo
2021-05-25  8:15 ` [PATCH 1/2] crypto: af_alg - " Wu Bo
2021-05-25  8:37   ` Christophe Leroy
2021-05-26  8:31     ` Dave Chinner
2021-06-03 12:30   ` Herbert Xu
2021-05-25  8:15 ` [PATCH 2/2] fs: direct-io: " Wu Bo
2021-05-25  8:38   ` Christophe Leroy
2021-05-25  8:41 ` [PATCH 0/2] " Christophe Leroy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).