On Mon, Nov 12, 2018 at 10:45:58AM -0500, Tony Battersby wrote:
> +++ linux/mm/dmapool.c 2018-08-06 17:52:53.000000000 -0400
> @@ -61,6 +61,7 @@ struct dma_pool { /* the pool */
> struct device *dev;
> unsigned int allocation;
> unsigned int boundary;
> + unsigned int blks_per_alloc;
> char name[32];
> struct list_head pools;
> };
This one I'm not totally happy with. You're storing this value when
it could be easily calculated each time through the show_pools() code.
I appreciate this is a topic where reasonable people might have different
opinions about which solution is preferable.
> @@ -182,6 +182,9 @@ struct dma_pool *dma_pool_create(const c
> retval->size = size;
> retval->boundary = boundary;
> retval->allocation = allocation;
> + retval->blks_per_alloc =
> + (allocation / boundary) * (boundary / size) +
> + (allocation % boundary) / size;
>
> INIT_LIST_HEAD(&retval->pools);
>
>