Re: [PATCH V2] cma: use macro PFN_DOWN when converting size to pages

From: Johannes Weiner
Date: Mon Aug 05 2013 - 15:58:19 EST


On Mon, Aug 05, 2013 at 05:09:17PM +0800, Xishi Qiu wrote:
> Use "PFN_DOWN(r->size)" instead of "r->size >> PAGE_SHIFT".
>
> Signed-off-by: Xishi Qiu <qiuxishi@xxxxxxxxxx>
> ---
> drivers/base/dma-contiguous.c | 3 +--
> 1 files changed, 1 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/base/dma-contiguous.c b/drivers/base/dma-contiguous.c
> index 0ca5442..b3d711d 100644
> --- a/drivers/base/dma-contiguous.c
> +++ b/drivers/base/dma-contiguous.c
> @@ -206,8 +206,7 @@ static int __init cma_init_reserved_areas(void)
>
> for (; i; --i, ++r) {
> struct cma *cma;
> - cma = cma_create_area(PFN_DOWN(r->start),
> - r->size >> PAGE_SHIFT);
> + cma = cma_create_area(PFN_DOWN(r->start), PFN_DOWN(r->size));

PFN_DOWN(r->start) makes sense because you are dividing and rounding a
byte-granular address to a PFN.

r->size >> PAGE_SHIFT translates number of bytes into number of pages.

It ends up being the same arithmetic operation to do both things, but
the units are different; the result of the second expression is not a
PFN. I think this change actually worsens readability of the code.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/