On Fri, Apr 05, 2019 at 09:15:25AM +0800, Dongli Zhang wrote:
> So far the kernel only prints the requested size if swiotlb buffer if full.
> It is not possible to know whether it is simply an out of buffer, or it is
> because swiotlb cannot allocate buffer with the requested size due to
> fragmentation.
> 
> As 'io_tlb_used' is available since commit 71602fe6d4e9 ("swiotlb: add
> debugfs to track swiotlb buffer usage"), both 'io_tlb_used' and
> 'io_tlb_nslabs' are printed when swiotlb buffer is full.
> 
> Signed-off-by: Dongli Zhang <dongli.zh...@oracle.com>

Applied. Will send git pull shortly.
> ---
>  kernel/dma/swiotlb.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/kernel/dma/swiotlb.c b/kernel/dma/swiotlb.c
> index 53012db..3f43b37 100644
> --- a/kernel/dma/swiotlb.c
> +++ b/kernel/dma/swiotlb.c
> @@ -540,7 +540,8 @@ phys_addr_t swiotlb_tbl_map_single(struct device *hwdev,
>  not_found:
>       spin_unlock_irqrestore(&io_tlb_lock, flags);
>       if (!(attrs & DMA_ATTR_NO_WARN) && printk_ratelimit())
> -             dev_warn(hwdev, "swiotlb buffer is full (sz: %zd bytes)\n", 
> size);
> +             dev_warn(hwdev, "swiotlb buffer is full (sz: %zd bytes), total 
> %lu, used %lu\n",
> +                      size, io_tlb_nslabs, io_tlb_used);
>       return DMA_MAPPING_ERROR;
>  found:
>       io_tlb_used += nslots;
> -- 
> 2.7.4
> 
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

Reply via email to