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