On 5/31/22 15:48, Robin Murphy wrote:
> On 2022-05-31 19:17, Tony Battersby wrote:
>
>>                               pool->name, blocks,
>> -                             (size_t) pages *
>> -                             (pool->allocation / pool->size),
>> +                             (size_t) pages * pool->blks_per_alloc,
>>                               pool->size, pages);
>>              size -= temp;
>>              next += temp;
>> @@ -168,6 +168,9 @@ struct dma_pool *dma_pool_create(const char *name, 
>> struct device *dev,
>>      retval->size = size;
>>      retval->boundary = boundary;
>>      retval->allocation = allocation;
>> +    retval->blks_per_alloc =
>> +            (allocation / boundary) * (boundary / size) +
>> +            (allocation % boundary) / size;
> Do we really need to store this? Sure, 4 divisions (which could possibly 
> be fewer given the constraints on boundary) isn't the absolute cheapest 
> calculation, but I still can't imagine anyone would be polling sysfs 
> stats hard enough to even notice.
>
The stored value is also used in patch #5, in more performance-critical
code, although only when debug is enabled.

Tony

_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

Reply via email to